Použití skriptů PowerShellu na Windows 10/11 v Intune

Pomocí rozšíření Microsoft Intune správy můžete nahrát skripty PowerShellu v Intune. Potom tyto skripty spusťte na Windows 10 zařízeních. Rozšíření pro správu Windows správu zařízení (MDM) a usnadňuje přechod na moderní správu.

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 nainstaluje automaticky, když je uživateli nebo zařízení přiřazen skript PowerShellu nebo aplikace Win32. Další informace najdete v tématu Požadavky na rozšíření Intune Management Extensions.

Skripty PowerShellu, které nejsou na zařízeních wpj (Workplace join) oficiálně podporované, se lyžují na zařízeních WPJ. Konkrétně skripty PowerShellu v kontextu zařízení fungují na zařízeních WPJ, ale skripty PowerShellu uživatelského kontextu jsou designem ignorovány. Kontextové skripty uživatelů budou na zařízeních WPJ ignorovány a nebudou oznámeny Microsoft Endpoint Manager konzole.

Přechod na moderní správu

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

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

Rozšíření pro správu Intune doplňuje funkce v Windows 10 MDM. Skripty PowerShellu můžete vytvářet tak, aby se spouštěly na Windows 10 zařízeních. Můžete třeba vytvořit skript PowerShellu, který dělá pokročilé konfigurace zařízení. Pak nahrajte skript do Intune, přiřaďte skript skupině Azure Active Directory (AD) a spusťte skript. Stav spuštění skriptu pak můžete sledovat od začátku do konce.

Než začnete

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

  • Koncoví uživatelé se k zařízení při spouštění skriptů PowerShellu nepožaduje.

  • Agent rozšíření pro správu Intune po každém restartování zkontroluje všechny nové skripty nebo změny. Po přiřazení zásady skupinám Azure AD se spustí skript PowerShellu a vykazuje se výsledky spuštění. Jakmile se skript spustí, znovu se spustí, dokud se ve skriptu nebo zásadách nezmění. Pokud se skript nepodaří, agent rozšíření pro správu Intune tento skript třikrát znovu pro příští tři po sobě jdoucí kontroly agentů rozšíření pro správu Intune.

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

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

  • Po 30 minutách se časový limit skriptů PowerShellu

Požadavky

Rozšíření pro správu Intune má následující předpoklady. Po jejich splnění se rozšíření pro správu Intune nainstaluje automaticky, 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í mít zařízení Windows 10 verzi 1709 nebo novější. Rozšíření pro správu Intune není podporované v Windows 10 S, protože režim S neumožňuje spouštění aplikací, které nejsou v obchodě.

  • Zařízení připojená k Azure Active Directory (AD), včetně:

  • Azure AD registered/Workplace joined (WPJ): Devices registered in Azure Active Directory (AAD), see Workplace Join as a seamless second factor authentication for more information. Obvykle se jedná o zařízení Byod (Bring Your Own Device) s pracovním nebo školním účtem přidaný přes Nastavení>Účty>Accessu v práci nebo ve škole.

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

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

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

      • Ve službě Azure AD je povolená automatická registrace do Intune. Uživatelé se přihlašují k zařízením pomocí místního uživatelského účtu a ručně se připojují k Azure AD. Potom se k zařízení přihlásí pomocí svého účtu Azure AD.

      NEBO

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

  • Skripty nasazované klientům s rozšířením pro správu Intune se nedaří spustit, pokud jsou systémové hodiny zařízení mimořádně zastaralé o měsíce nebo roky. Po zobrazení systémových hodin se skript 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 Windows 10 virtuálních počítačů s Intune.

Vytvoření zásady skriptu a jeho přiřazení

  1. Přihlaste se k Centru pro správu Microsoft Endpoint Manageru.

  2. Vyberte DevicesScriptsAdd > > > Windows 10 a novější.

    Snímek obrazovky s vytvořením 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ů : Pokud chcete skript spustit s přihlašovacími údaji uživatele na zařízení, vyberte Ano. Pokud chcete skript spustit v kontextu systému, zvolte Ne (výchozí). Mnoho správců zvolí Ano. Pokud je skript nutný ke spuštění v kontextu systému, zvolte Ne.

    • Vynucení kontroly podpisu skriptu**: Pokud musí** být skript podepsaný důvěryhodným vydavatelem, vyberte Ano. Pokud není potřeba, aby byl skript podepsaný, vyberte Ne (výchozí).

    • Spuštění skriptu v 64bitovém hostiteli PowerShellu: Pokud chcete skript spustit v 64bitovém hostiteli PowerShellu v 64bitové architektuře klienta, vyberte Ano. Výběrem možnosti Ne (výchozí) spustíte skript 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 32bitový hostitel PowerShellu podporovaný Běží jenom v 32bitovém hostiteli PowerShellu, který funguje na 32bitových a 64bitových architekturách.
      Ano 64bitová verze Spustí skript v 64bitovém hostiteli PowerShellu pro 64bitové architektury. Při spuštění v 32bitové verzi 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 (nespouštěl) v 64bitovém hostiteli PowerShellu a zobrazí výsledky. Při spuštění na 32bitové verzi se skript spustí v 32bitovém hostiteli PowerShellu.
  5. Vyberte Značky oboru. Značky oboru jsou nepovinné. Pro distribuované IT používejte řízení přístupu založené na rolích (RBAC) a značky oboru.

    Přidání značky oboru:

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

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

  6. Vyberte ZadáníVyberte > skupiny, které chcete zahrnout. Zobrazí se existující seznam skupin Azure AD.

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

      Poznámka

      Skripty PowerShellu v Intune je možné zaměřit na skupiny zabezpečení zařízení Azure AD nebo skupiny zabezpečení uživatelů Azure AD. Při cílení na zařízení připojená k pracovnímu prostředí (WPJ) se ale používejte jenom skupiny zabezpečení zařízení Azure AD (cílení uživatelů bude ignorováno). Další informace najdete v článku Podpora aplikací Win32 pro zařízení s podporou připojení k síti Workplace (WPJ).

    2. Vyberte Další.

      Přiřazení nebo nasazení skriptu PowerShellu skupinám zařízení v Microsoft Intune

  7. V okně Revize a přidání se zobrazí souhrn nastavení, která jste nakonfigurovali. Pokud chcete skript uložit, vyberte Přidat. Když vyberete Přidat, zásada se nasadí do skupin, které jste vybrali.

Příklad skriptu se nespouštěl

8:00

  • Přihlásit se
  • Spuštění skriptu ConfigScript01
  • Skript se nezdaří.

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 se nezdaří (počet opakování = 3)

12:00

  • Přihlásit se
  • Při spuštění skriptu ConfigScript01script se už žádné další pokusy neschytá.
  • Pokud ve skriptu nejsou provedeny žádné další změny, nejsou provedeny žádné další pokusy o spuštění skriptu.

Stav spuštění monitoru

Můžete sledovat stav spouštění skriptů PowerShellu pro uživatele a zařízení na portálu.

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

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

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

Protokoly agentů v klientském počítači jsou obvykle v aplikaci \ProgramData\Microsoft\IntuneManagementExtension\Logs. K zobrazení CMTrace.exe souborů protokolu můžete použít následující soubory protokolu.

Snímek obrazovky nebo ukázka protokolů 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 nestáhne

Možná řešení:

  • Zařízení není připojené k Azure AD. Ujistěte se, že zařízení splňují požadavky (v tomto článku).
  • Skupiny, do které uživatel nebo zařízení patří, nejsou přiřazené žádné skripty PowerShellu ani aplikace Win32.
  • Zařízení se nemůže se službou Intune odškrtovat. Například neexistuje přístup k internetu, žádný přístup ke službám Windows nabízených oznámení (WNS) a tak dále.
  • Zařízení je v režimu S. Rozšíření pro správu Intune není podporované na zařízeních s režimem S.

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

  1. Přejděte na Nastavení > AccountsAccess > do práce nebo do školy.
  2. Vyberte spojený účet a > Informace.
  3. V části Advanced Diagnostic Report (Rozšířená diagnostická sestava) vyberte Create Report (Vytvořit sestavu).
  4. Otevřete ho MDMDiagReport ve webovém prohlížeči.
  5. Vyhledejte vlastnost MDMDeviceWithAAD . Pokud tato vlastnost existuje, bude zařízení automaticky zaregistrované. Pokud tato vlastnost neexistuje, není zařízení automaticky zaregistrované.

Povolení Windows 10 registrace zahrnuje postup konfigurace automatického zápisu v Intune.

Problém: Skripty PowerShellu se nespouštěly

Možná řešení:

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

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

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

      Tip

      Rozšíření Microsoft Intune správy je služba, která běží na zařízení, stejně jako každá jiná služba uvedená v aplikaci Služby (services.msc). Po restartování zařízení se může tato služba restartovat a zkontrolovat všechny přiřazené skripty PowerShellu se službou Intune. Pokud je Microsoft Intune Správa správy nastavená na Ručně, nemusí se služba po restartování zařízení restartovat.

  • Ujistěte se, že jsou zařízení připojená k Azure AD. Zařízení, která jsou připojená jenom k vašemu pracovišti nebo organizaci ( registrovaná v Azure AD), nebudou přijímat skripty.

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

  • Skripty se nespouštěly na Surface Hubs nebo Windows 10 V režimu S.

  • Zkontrolujte v protokolech všechny chyby. Podívejte se na protokoly rozšíření pro správu Intune (v tomto článku).

  • U 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 credentials. 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 skripty, můžete:

    • Zkontrolujte konfiguraci spouštění PowerShellu na svých zařízeních. Pokyny najdete v zásadách provádění PowerShellu .

    • Spusťte ukázkový skript pomocí rozšíření pro správu Intune. Vytvořte třeba adresář C:\Scripts a dejte všem úplnou kontrolu. Spusťte následující skript:

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

      Pokud se to podaří, output.txt by měl být vytvořen a měl by obsahovat text "Script worked" (Skript fungoval).

    • Pokud chcete otestovat spuštění skriptu bez Intune, spusťte skripty v systémovém účtu pomocí nástroje psexec místně:

      psexec -i -s

    • Pokud skript hlásí, že se to podařilo, ale ve skutečnosti se nepovedlo, je možné, že vaše antivirová služba je v izolovaném prostoru 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, podívejte se na stránku AgentExecutor.log pro potvrzení výstupu chyby. Pokud se skript spustí, měla by být délka >2.

    • Pokud chcete zachytit .error soubory a .output , provede tento výstřižek skript přes AgentExecutor do PowerShellu x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Uchovává protokoly pro vaši recenzi. 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

Sledujte profily a vyřešte je.