Použití powershellových skriptů na zařízeních Windows 10/11 v Intune

Pomocí rozšíření pro správu Microsoft Intune nahrajte skripty PowerShellu do Intune. Pak tyto skripty spusťte na Windows 10 zařízeních. Rozšíření pro správu vylepšuje správu zařízení s Windows (MDM) a usnadňuje přechod na moderní správu.

Důležité

Pokud chcete podporovat rozšířené funkce a opravy chyb, použijte rozhraní .NET Framework 4.7.2 nebo novější s rozšířením pro správu Intune na klientech Windows. Pokud klient Windows nadále používá starší verzi rozhraní .NET Framework, bude rozšíření pro správu Intune dál fungovat. Rozhraní .NET Framework 4.7.2 je k dispozici od služba Windows Update od 10. července 2018, které je součástí Win10 1809 (RS5) a novějších. Všimněte si, že na zařízení může současně existovat více verzí rozhraní .NET Framework.

Tato funkce platí pro:

  • Windows 10 a novější (kromě Windows 10 Home)

Poznámka

Po splnění požadavků na rozšíření pro správu Intune se rozšíření pro správu Intune automaticky nainstaluje, když se uživateli nebo zařízení přiřadí skript PowerShellu nebo aplikace Win32, aplikace pro Microsoft Store, vlastní nastavení zásad dodržování předpisů nebo proaktivní nápravy. Další informace najdete v tématu Požadavky na rozšíření pro správu Intune.

Skripty PowerShellu, které nejsou oficiálně podporované na zařízeních WPJ (Workplace Join), je možné nasadit do zařízení WPJ. Konkrétně skripty PowerShellu pro kontext zařízení fungují na zařízeních WPJ, ale skripty PowerShellu kontextu uživatele se záměrně ignorují. Skripty kontextu uživatele budou na zařízeních WPJ ignorovány a nebudou hlášeny do centra pro správu Microsoft Intune.

Přechod na moderní správu

Uživatelské výpočetní prostředí prochází digitální transformací. Tradiční IT se zaměřuje na jednu platformu zařízení, zařízení ve vlastnictví firmy, uživatele, kteří pracují z kanceláře, a různé ruční, reaktivní IT procesy. Moderní pracoviště používá mnoho platforem vlastněných uživateli a firmami. Umožňuje uživatelům pracovat odkudkoli a poskytuje automatizované a proaktivní IT procesy.

Služby MDM, například Microsoft Intune, můžou spravovat mobilní a desktopová zařízení s Windows 10. Integrovaný klient pro správu Windows 10 komunikuje s Intune a spouští úlohy správy podniku. Můžete potřebovat některé úlohy, například pokročilou konfiguraci zařízení a řešení potíží. Pro správu aplikací Win32 můžete na svých Windows 10 zařízeních použít funkci správy aplikací Win32.

Rozšíření pro správu Intune doplňuje vložené Windows 10 funkce MDM. Můžete vytvořit skripty PowerShellu, které se budou spouštět na Windows 10 zařízeních. Vytvořte například skript PowerShellu, který provede pokročilé konfigurace zařízení. Pak skript nahrajte do Intune, přiřaďte ho skupině Microsoft Entra a spusťte skript. Pak můžete monitorovat stav spuštění skriptu od začátku do konce.

Než začnete

  • Pokud jsou skripty nastavené na kontext uživatele a koncový uživatel má oprávnění správce, skript PowerShellu se ve výchozím nastavení spouští pod oprávněním správce.

  • Koncoví uživatelé se nemusí přihlašovat k zařízení, aby mohli spouštět skripty PowerShellu.

  • Agent rozšíření pro správu Intune kontroluje po každém restartování nové skripty nebo změny. Po přiřazení zásady ke skupinám Microsoft Entra se spustí skript PowerShellu a hlásí se výsledky spuštění. Jakmile se skript spustí, nespustí se znovu, pokud nedojde ke změně skriptu nebo zásad. Pokud skript selže, agent rozšíření pro správu Intune ho třikrát opakuje při dalších třech po sobě jdoucích kontrolách agenta rozšíření pro správu Intune.

  • Pro sdílená zařízení se skript PowerShellu spustí pro každého nového uživatele, který se přihlásí.

  • Skripty PowerShellu se spouštějí před spuštěním aplikací Win32. Jinými slovy, skripty PowerShellu se spustí jako první. Pak se spustí aplikace Win32.

  • Po 30 minutách vyprší časový limit skriptů PowerShellu.

Důležité

Mezi osvědčené postupy pro zajištění ochrany osobních údajů při používání skriptů PowerShellu a skriptů pro nápravu patří následující:

  • Nezahrnujte do skriptů žádný typ citlivých informací (jako jsou hesla).
  • Nezahrnujte do skriptů identifikovatelné osobní údaje
  • Nepoužívejte skripty ke shromažďování osobních údajů ze zařízení.
  • Vždy dodržujte osvědčené postupy ochrany osobních údajů

Související informace najdete v tématu Nápravy.

Požadavky

Rozšíření pro správu Intune má následující požadavky. Po jejich splnění se rozšíření pro správu Intune automaticky nainstaluje, když je uživateli nebo zařízení přiřazený skript PowerShellu nebo aplikace Win32.

  • Zařízení s Windows 10 verze 1607 nebo novější. Pokud je zařízení zaregistrované pomocí hromadné automatické registrace, musí zařízení používat Windows 10 verze 1709 nebo novější. Rozšíření pro správu Intune není podporováno na Windows 10 v režimu S, protože režim S neumožňuje spouštění aplikací mimo Store.

  • Zařízení připojená k Microsoft Entra ID, včetně:

  • Microsoft Entra zaregistrované/připojené k pracovišti (WPJ): Zařízení zaregistrovaná v Microsoft Entra ID najdete v tématu Připojení k pracovišti jako bezproblémové ověřování druhého faktoru. Obvykle se jedná o zařízení přineste si vlastní zařízení (BYOD), u kterých byl pracovní nebo školní účet přidaný prostřednictvím nastavení>Účty>Přístup do práce nebo do školy.

  • Zařízení zaregistrovaná v Intune, včetně:

    • Zařízení zaregistrovaná v zásadách skupiny (GPO) Pokyny najdete v tématu Automatická registrace zařízení Windows 10 pomocí Zásady skupiny.

    • Zařízení ručně zaregistrovaná v Intune, což je v případě, že:

      • V Microsoft Entra ID je povolená automatická registrace do Intune. Uživatelé se k zařízením přihlašují pomocí místního uživatelského účtu a ručně připojují zařízení k Microsoft Entra ID. Pak se k zařízení přihlásí pomocí svého účtu Microsoft Entra.

      NEBO

      • Uživatel se přihlásí k zařízení pomocí svého Microsoft Entra účtu a pak se zaregistruje v Intune.
    • Spoluspravované zařízení, která používají Configuration Manager a Intune. Při instalaci aplikací Win32 se ujistěte, že je úloha Aplikace nastavená na Pilotní nasazení Intune nebo Intune. Skripty PowerShellu se spustí i v případě, že je úloha Aplikace nastavená na Configuration Manager. Rozšíření pro správu Intune se nasadí do zařízení, když na zařízení zacílíte skript PowerShellu. Nezapomeňte, že zařízení musí být Microsoft Entra ID nebo Microsoft Entra zařízení připojené k hybridnímu připojení. A musí běžet Windows 10 verze 1607 nebo novější. Pokyny najdete v následujících článcích:

  • Skripty nasazené do klientů s rozšířením pro správu Intune se nespustí, pokud jsou systémové hodiny zařízení po měsících nebo letech mimořádně zastaralé. Jakmile jsou systémové hodiny aktualizované, skript se spustí podle očekávání.

Poznámka

Informace o používání virtuálních počítačů s Windows 10 najdete v tématu Používání Windows 10 virtuálních počítačů s Intune.

Vytvoření zásady skriptů a jejich přiřazení

  1. Přihlaste se do Centra pro správu Microsoft Intune.

  2. Vyberte Přidatskripty>> zařízení >Windows 10 a novější.

    Snímek obrazovky znázorňující vytvoření nového skriptu pro Windows 10 zařízení

  3. V části Základy zadejte následující vlastnosti a vyberte Další:

    • Název: Zadejte název skriptu PowerShellu.
    • Popis: Zadejte popis skriptu PowerShellu. Toto nastavení není povinné, ale doporučujeme ho zadat.
  4. V nastavení skriptu zadejte následující vlastnosti a vyberte Další:

    • Umístění skriptu: Přejděte ke skriptu PowerShellu. Skript musí být menší než 200 kB (ASCII).

    • Spusťte tento skript pomocí přihlášených přihlašovacích údajů: Vyberte Ano (výchozí) a spusťte skript s přihlašovacími údaji uživatele na zařízení. Pokud chcete skript spustit v kontextu systému, zvolte Ne . Mnoho správců zvolí Ano. Pokud se skript vyžaduje ke spuštění v kontextu systému, zvolte Ne.

    • Vynutit kontrolu podpisu skriptu: Pokud musí být skript podepsaný důvěryhodným vydavatelem, vyberte Ano (výchozí). Pokud není nutné podepsat skript, vyberte Ne .

    • Spustit skript v 64bitovém hostiteli PowerShellu: Vyberte Ano , pokud chcete skript spustit v 64bitovém hostiteli PowerShellu v 64bitové klientské architektuře. Vyberte Ne (výchozí) spuštění skriptu v 32bitovém hostiteli PowerShellu.

      Při nastavení na Ano nebo Ne použijte pro nové a existující chování zásad následující tabulku:

      Spuštění skriptu v 64bitovém hostiteli Architektura klienta Nový skript Existující skript zásad
      Ne 32bitová verze Podpora 32bitového hostitele PowerShellu Spouští se jenom v 32bitovém hostiteli PowerShellu, který funguje na 32bitové a 64bitové architektuře.
      Ano 64bitová verze Spustí skript v 64bitovém hostiteli PowerShellu pro 64bitové architektury. Při spuštění na 32bitovém počítači se skript spustí v 32bitovém hostiteli PowerShellu. Spustí skript v 32bitovém hostiteli PowerShellu. Pokud se toto nastavení změní na 64bitovou verzi, skript se otevře (nespustí) v 64bitovém hostiteli PowerShellu a nahlásí výsledky. Při spuštění na 32bitovém počítači se skript spustí v 32bitovém hostiteli PowerShellu.
  5. Vyberte Značky oboru. Značky oboru jsou volitelné. Použití řízení přístupu na základě role (RBAC) a značek oboru pro distribuované IT obsahuje další informace.

    Přidání značky oboru:

    1. Zvolte Vybrat značky> oboru a v seznamu >Vybrat vyberte existující značku oboru.

    2. Po dokončení vyberte Další.

  6. Vyberte Přiřazení>: Vyberte skupiny, které chcete zahrnout. Zobrazí se existující seznam skupin Microsoft Entra.

    1. Vyberte jednu nebo více skupin, které zahrnují uživatele, jejichž zařízení obdrží skript. Zvolte Vybrat. Skupiny, které jste vybrali, se zobrazí v seznamu a obdrží zásady.

      Poznámka

      Skripty PowerShellu v Intune je možné cílit na Microsoft Entra skupiny zabezpečení zařízení nebo Microsoft Entra skupiny zabezpečení uživatelů. Při cílení na zařízení připojená k pracovišti (WPJ) je ale možné použít pouze Microsoft Entra skupiny zabezpečení zařízení (cílení na uživatele bude ignorováno). Další informace najdete v tématu Podpora aplikací Win32 pro zařízení WPJ (Workplace Join).

    2. Vyberte Další.

      Přiřazení nebo nasazení powershellového skriptu do skupin zařízení v Microsoft Intune

  7. V části Zkontrolovat a přidat se zobrazí souhrn nastavení, která jste nakonfigurovali. Vyberte Přidat a skript uložte. Když vyberete Přidat, zásada se nasadí do vámi vybraných skupin.

Příklad selhání spuštění skriptu

8:00

  • Přihlásit se
  • Spuštění skriptu ConfigScript01
  • Selhání skriptu

9:00

  • Přihlásit se
  • Spuštění skriptu ConfigScript01
  • Skript selže (počet opakování = 1)

10:00

  • Přihlásit se
  • Spuštění skriptu ConfigScript01
  • Skript selže (počet opakování = 2)

11:00

  • Přihlásit se
  • Spuštění skriptu ConfigScript01
  • Skript selže (počet opakování = 3)

12:00

  • Přihlásit se
  • Ke spuštění skriptu ConfigScript01se neprovedou žádné další pokusy.
  • Pokud se ve skriptu neprovedou žádné další změny, neprovedou se žádné další pokusy o spuštění skriptu.

Monitorování stavu spuštění

Stav spuštění skriptů PowerShellu pro uživatele a zařízení můžete monitorovat na portálu.

Ve skriptech PowerShellu vyberte skript, který chcete monitorovat, zvolte Monitorovat a pak zvolte jednu z následujících sestav:

  • Stav zařízení
  • Stav uživatele

Protokoly rozšíření pro správu Intune

Protokoly agenta na klientském počítači jsou obvykle v C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. K zobrazení těchto souborů protokolu můžete použít CMTrace.exe .

Snímek obrazovky nebo ukázkové protokoly agenta cmtrace v Microsoft Intune

Odstranění skriptu

Ve skriptech PowerShellu klikněte pravým tlačítkem myši na skript a vyberte Odstranit.

Běžné problémy a řešení

Problém: Rozšíření pro správu Intune se nestahuje

Možná řešení:

  • Zařízení není připojené k Microsoft Entra ID. Ujistěte se, že zařízení splňují požadavky (v tomto článku).
  • Ke skupinám, do nichž uživatel nebo zařízení patří, nejsou přiřazené žádné skripty PowerShellu ani aplikace Win32.
  • Zařízení se nemůže přihlásit ke službě Intune. Například neexistuje přístup k internetu, nemáte přístup ke službě Windows Push Notification Services (WNS) atd.
  • Zařízení je v režimu S. Rozšíření pro správu Intune se nepodporuje na zařízeních spuštěných v režimu S.

Pokud chcete zjistit, jestli je zařízení automaticky zaregistrované, můžete:

  1. Přejděte na Nastavení>Účty>Přístup do práce nebo do školy.
  2. Vyberte informace o připojeném účtu>.
  3. V části Rozšířená diagnostická sestava vyberte Vytvořit sestavu.
  4. Otevřete ve MDMDiagReport webovém prohlížeči.
  5. Vyhledejte vlastnost MDMDeviceWithAAD . Pokud vlastnost existuje, zařízení se automaticky zaregistruje. Pokud tato vlastnost neexistuje, zařízení se automaticky nezaregistruje.

Povolení Windows 10 automatické registrace zahrnuje postup konfigurace automatické registrace v Intune.

Problém: Skripty PowerShellu se nespouštějí

Možná řešení:

  • Skripty PowerShellu se nespouštějí při každém přihlášení. Spustí:

    • Když je skript přiřazený k zařízení

    • Pokud skript změníte, nahrajte ho a přiřadíte ho uživateli nebo zařízení.

      Tip

      Rozšíření Microsoft Intune Management je služba, která běží na zařízení stejně jako jakákoli jiná služba uvedená v aplikaci Services (services.msc). Po restartování zařízení se tato služba může také restartovat a vyhledat všechny přiřazené skripty PowerShellu se službou Intune. Pokud je služba Microsoft Intune Management Extension nastavená na Ruční, nemusí se po restartování zařízení restartovat.

  • Ujistěte se, že jsou zařízení připojená k Microsoft Entra ID. Zařízení, která jsou připojená jenom k vašemu pracovišti nebo organizaci (zaregistrovaná v Microsoft Entra ID), nedostanou skripty.

  • Ověřte, že se rozšíření pro správu Intune stáhlo do %ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • Skripty se nespouštějí na Zařízení Surface Hub ani Windows 10 v režimu S.

  • Zkontrolujte případné chyby v protokolech. Viz Protokoly rozšíření pro správu Intune (v tomto článku).

  • V případě možných problémů s oprávněními se ujistěte, že jsou vlastnosti skriptu PowerShellu nastavené na Run this script using the logged on credentialshodnotu . Zkontrolujte také, že přihlášený uživatel má příslušná oprávnění ke spuštění skriptu.

  • Pokud chcete izolovat problémy se skriptováním, můžete:

    • Zkontrolujte konfiguraci spouštění PowerShellu na vašich zařízeních. Pokyny najdete v tématu Zásady spouštění PowerShellu .

    • Spusťte ukázkový skript pomocí rozšíření pro správu Intune. Vytvořte například C:\Scripts adresář a poskytněte všem úplné řízení. Spusťte následující skript:

      write-output "Script worked" | out-file c:\Scripts\output.txt
      

      Pokud bude úspěšný, měla by se vytvořit output.txt a měla by obsahovat text "Skript pracoval".

    • Pokud chcete otestovat spouštění skriptů bez Intune, spusťte skripty v účtu System pomocí nástroje psexec místně:

      psexec -i -s

    • Pokud skript hlásí, že to bylo úspěšné, ale ve skutečnosti se to nepovedlo, je možné, že vaše antivirová služba může být sandboxing AgentExecutor. Následující skript vždy hlásí chybu v Intune. Jako test můžete použít tento skript:

      Write-Error -Message "Forced Fail" -Category OperationStopped
      mkdir "c:\temp" 
      echo "Forced Fail" | out-file c:\temp\Fail.txt
      

      Pokud skript hlásí úspěch, zkontrolujte AgentExecutor.log výstup chyby. Pokud se skript spustí, délka by měla být >2.

    • Pokud chcete zachytit .error soubory a .output , následující fragment kódu spustí skript prostřednictvím AgentExecutoru do PowerShellu x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Uchovává protokoly pro vaši kontrolu. Nezapomeňte, že rozšíření pro správu Intune vyčistí protokoly po spuštění skriptu:

      $scriptPath = read-host "Enter the path to the script file to execute"
      $logFolder = read-host "Enter the path to a folder to output the logs to"
      $outputPath = $logFolder+"\output.output"
      $errorPath =  $logFolder+"\error.error"
      $timeoutPath =  $logFolder+"\timeout.timeout"
      $timeoutVal = 60000 
      $PSFolder = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0"
      $AgentExec = "C:\Program Files (x86)\Microsoft Intune Management Extension\agentexecutor.exe"
      &$AgentExec -powershell  $scriptPath $outputPath $errorPath $timeoutPath $timeoutVal $PSFolder 0 0
      

Další kroky

Monitorujte profily a odstraňte potíže s vašimi profily.