Verwenden von PowerShell-Skripts auf Windows 10/11-Geräten in Intune

Verwenden Sie die Verwaltungserweiterung für Microsoft Intune, um PowerShell-Skripts in Intune hochzuladen. Führen Sie diese Skripts dann auf Windows 10-Geräten aus. Die Verwaltungserweiterung verbessert die Geräteverwaltung (Mobile Device Management, MDM) von Windows und erleichtert den Wechsel zu einer modernen Verwaltung.

Diese Funktion gilt für:

  • Windows 10 und höher (mit Ausnahme von Windows 10 Home)

Hinweis

Wenn die Voraussetzungen der Intune-Verwaltungserweiterung erfüllt sind, wird die Intune-Verwaltungserweiterung automatisch installiert, sobald dem Benutzer oder Gerät ein PowerShell-Skript oder eine Win32-App zugewiesen ist. Weitere Informationen finden Sie in den Voraussetzungen der Intune-Verwaltungserweiterung.

PowerShell-Skripts, die nicht offiziell auf WPJ-Geräten (Workplace Join) unterstützt werden, können auf WPJ-Geräten bereitgestellt werden. Insbesondere PowerShell-Skripts für den Gerätekontext funktionieren auf WPJ-Geräten, PowerShell-Skripts für den Benutzerkontext werden standardmäßig ignoriert. Benutzerkontextskripts werden auf WPJ-Geräten ignoriert und nicht an das Microsoft Endpoint Manager Admin Center gemeldet.

Wechseln zur modernen Verwaltung

Das Benutzercomputing durchläuft eine digitale Transformation. Die klassische IT konzentriert sich auf eine einzelne Geräteplattform, unternehmenseigene Geräte, Benutzer, die vom Büro aus arbeiten, und verschiedene manuelle reaktive IT-Prozesse. An einem modernen Arbeitsplatz werden viele benutzer- und unternehmenseigene Plattformen verwendet. Benutzer können von überall aus arbeiten, und automatisierte und proaktive IT-Prozesse werden bereitgestellt.

MDM-Dienste wie Microsoft Intune können mobile Geräte und Desktopgeräte verwalten, auf denen Windows 10 ausgeführt wird. Der integrierte Windows 10-Verwaltungsclient kommuniziert mit Intune, um Aufgaben für die Unternehmensverwaltung auszuführen. Es gibt einige Aufgaben, die Sie ggf. ausführen müssen, z.B. erweiterte Gerätekonfiguration und Problembehandlung. Für die Verwaltung von Win32-Apps können Sie das Feature Win32-App-Verwaltung auf Ihren Windows 10-Geräten verwenden.

Die Intune-Verwaltungserweiterung ergänzt die integrierten MDM-Features für Windows 10. Sie können PowerShell-Skripts für die Ausführung auf Windows 10-Geräten erstellen. Erstellen Sie z. B. ein PowerShell-Skript für erweiterte Gerätekonfigurationen. Laden Sie dann das Skript in Intune hoch, weisen Sie es einer Azure Active Directory-Gruppe zu, und führen Sie es anschließend aus. Dann können Sie den Ausführungsstatus des Skripts von Anfang bis Ende überwachen.

Bevor Sie beginnen

  • Wenn Skripts auf den Benutzerkontext festgelegt sind und der Endbenutzer über Administratorrechte verfügt, wird das PowerShell-Skript standardmäßig mit Administratorrechten ausgeführt.

  • Endbenutzer müssen sich nicht beim Gerät anmelden, um PowerShell-Skripts auszuführen.

  • Der Intune-Verwaltungserweiterungs-Agent sucht nach jedem Neustart nach neuen Skripts oder Änderungen. Nachdem Sie die Richtlinie den Azure AD-Gruppen zugewiesen haben, wird das PowerShell-Skript ausgeführt, und die Ausführungsergebnisse werden berichtet. Das Skript wird nur einmal ausgeführt. Eine erneute Ausführung erfolgt nur, wenn eine Änderung am Skript oder der Richtlinie vorgenommen wird. Wenn beim Ausführen des Skripts ein Fehler auftritt, versucht der Agent für die Intune-Verwaltungserweiterung dreimal, das Skript für die nächsten drei aufeinanderfolgenden Check-Ins beim Agent für die Intune-Verwaltungserweiterung erneut auszuführen.

  • Bei freigegebenen Geräten wird das PowerShell-Skript für jeden neuen Benutzer ausgeführt, der sich anmeldet.

  • PowerShell-Skripts werden vor der Ausführung von Win32-Apps ausgeführt. Anders gesagt: PowerShell-Skripts werden zuerst ausgeführt. Anschließend werden Win32-Apps ausgeführt.

  • Bei PowerShell-Skripts tritt nach 30 Minuten ein Timeout auf.

Voraussetzungen

Für die Intune-Verwaltungserweiterung sind folgende Voraussetzungen erforderlich. Wenn diese erfüllt sind, wird die Intune-Verwaltungserweiterung automatisch installiert, sobald dem Benutzer oder Gerät ein PowerShell-Skript oder eine Win32-App zugewiesen wird.

  • Geräte mit Windows 10, Version 1607 oder höher. Wenn das Gerät mithilfe der automatischen Massenregistrierung registriert wurde, muss es mindestens Windows 10, Version 1709 ausführen. Die Intune-Verwaltungserweiterung wird unter Windows 10 im S Modus nicht unterstützt, da im S Modus keine Apps ausgeführt werden können, die nicht aus dem Store stammen.

  • Mit Azure Active Directory (Azure AD) verknüpfte Geräte, einschließlich:

  • Bei Azure AD registriert/in Workplace eingebunden (WPJ): Weitere Informationen zu in Azure Active Directory (AAD) registrierten Geräten finden Sie unter Arbeitsplatzbeitritt als nahtlose zweistufige Authentifizierung. In der Regel handelt es sich dabei um BYOD-Geräte (Bring Your Own Device), auf denen ein Geschäfts-, Schul- oder Unikonto über Einstellungen>Konten>Zugriff auf Geschäfts-, Schul- oder Unikonten hinzugefügt wurde.

  • Bei Intune registrierte Geräte, wie u. a.:

    • Geräte, die in einer Gruppenrichtlinie registriert sind – weitere Informationen finden Sie unter Enroll a Windows 10 device automatically using Group Policy (Automatische Registrierung von Windows 10-Geräten mithilfe von Gruppenrichtlinien).

    • Geräte, die folgendermaßen manuell in Intune registriert wurden:

      • Die automatische Registrierung bei Intune ist in Azure AD aktiviert. Die Benutzer melden sich mit einem lokalen Benutzerkonto bei Geräten an und verbinden das Gerät manuell mit Azure AD. Anschließend melden sie sich mit ihrem Azure AD-Konto beim Gerät an.

      OR

      • Über die Anmeldung des Benutzers auf dem Gerät mithilfe seines Azure AD-Kontos und der anschließenden Registrierung bei Intune.
    • Gemeinsam verwaltete Geräte, die Configuration Manager und Intune verwenden. Stellen Sie bei der Installation von Win32-Apps sicher, dass die Apps-Workload auf Pilot Intune- oder Intune-festgelegt ist. PowerShell-Skripts werden auch dann ausgeführt, wenn die Apps-Workload auf Configuration Manager festgelegt ist. Die Intune-Verwaltungserweiterung wird auf einem Gerät bereitgestellt, wenn Sie ein PowerShell-Skript für das Gerät als Ziel angeben. Denken Sie daran, dass es sich bei dem Gerät um ein in Azure AD eingebundenes Gerät oder Hybridgerät handeln muss. Außerdem muss Windows 10, Version 1607 oder höher, darauf ausgeführt werden. Weitere Informationen finden Sie in den folgenden Artikeln:

  • Skripts, die für Clients mit der Intune-Verwaltungserweiterung bereitgestellt werden, werden nicht ausgeführt, wenn die Systemuhr des Geräts nach Monaten oder Jahren übermäßig veraltet ist. Sobald die Systemuhr auf dem neuesten Stand ist, wird das Skript wie erwartet ausgeführt.

Hinweis

Informationen zur Verwendung von virtuellen Window 10-Computern finden Sie unter Verwenden von virtuellen Windows 10-Computern mit Intune.

Erstellen und Zuweisen einer Skriptrichtlinie

  1. Melden Sie sich beim Microsoft Endpoint Manager Admin Center an.

  2. Wählen Sie Geräte>Skripte>Hinzufügen>Windows 10 und höher aus.

    Screenshot, der das Erstellen eines neuen Skripts für ein Windows 10 Gerät zeigt.

  3. Geben Sie unter Grundlegende Einstellungen die folgenden Eigenschaften ein, und klicken Sie auf Weiter:

    • Name: Geben Sie einen Namen für das PowerShell-Skript ein.
    • Beschreibung: Geben Sie eine Beschreibung für das PowerShell-Skript ein. Diese Einstellung ist optional, wird jedoch empfohlen.
  4. Geben Sie unter Skripteinstellungen die folgenden Eigenschaften ein, und klicken Sie auf Weiter:

    • Skript-Speicherort: Navigieren Sie zum PowerShell-Skript. Das Skript muss kleiner als 200 KB (ASCII) sein.

    • Führen Sie dieses Skript mit den angemeldeten Anmeldeinformationenaus: Wählen Sie Ja aus, um das Skript mit den Anmeldeinformationen auf dem Gerät auszuführen. Klicken Sie auf Nein (Standard), um das Skript im Systemkontext auszuführen. Viele Administratoren entscheiden sich für die Option Ja. Klicken Sie auf Nein, wenn das Skript nicht im Systemkontext ausgeführt werden muss.

    • Skriptsignaturprüfung erzwingen:Wählen Sie Ja aus, wenn das Skript von einem vertrauenswürdigen Herausgeber signiert werden muss. Klicken Sie auf Nein (Standard), wenn das Skript nicht signiert werden muss.

    • Ausführen eines Skripts im 64-Bit-PowerShell-Host:Wählen Sie Ja aus, um das Skript in einem 64-Bit-PowerShell-Host auf einer 64-Bit-Clientarchitektur auszuführen. Wenn Sie auf Nein (Standard) klicken, wird das Skript in einer 32-Bit-Version des PowerShell-Hosts ausgeführt.

      Wenn Sie die Optionen Ja oder Nein auswählen, verwenden Sie die folgende Tabelle für neues und bereits bestehendes Richtlinienverhalten:

      Skript auf 64-Bit-Host ausführen Clientarchitektur Neues Skript Bereits vorhandenes Richtlinienskript
      Nein 32-Bit 32-Bit-PowerShell-Host unterstützt Wird nur auf 32-Bit-PowerShell-Host ausgeführt, der sowohl auf 32-Bit- als auch 64-Bit-Architekturen funktioniert
      Ja 64-Bit Das Skript wird auf einem 64-Bit-PowerShell-Host für 64-Bit-Architekturen ausgeführt. Bei Ausführung auf einer 32-Bit-Architektur wird das Skript auf einem 32-Bit-PowerShell-Host ausgeführt. Das Skript wird auf einem 32-Bit-PowerShell-Host ausgeführt. Wenn diese Einstellung in 64-Bit geändert wird, wird das Skript auf einem 64-Bit-PowerShell-Host geöffnet (aber nicht ausgeführt) und meldet die Ergebnisse. Bei Ausführung auf einer 32-Bit-Architektur wird das Skript auf einem 32-Bit-PowerShell-Host ausgeführt.
  5. Klicken Sie auf Bereichstags. Bereichstags sind optional. Weitere Informationen dazu finden Sie unter Use role-based access control (RBAC) and scope tags for distributed IT (Verwenden der rollenbasierten Zugriffssteuerung und Bereichsmarkierungen für verteilte IT).

    So fügen Sie Bereichstags hinzu:

    1. Wählen Sie Bereichstags> auswählen ein vorhandenes Bereichstag aus der Liste >Auswählen aus.

    2. Klicken Sie anschließend auf Weiter.

  6. Klicken Sie auf Zuweisungen>Select groups to include (Gruppen auswählen, die hinzugefügt werden sollen). Dann wird eine vorhandene Liste mit Azure AD Gruppen angezeigt.

    1. Wählen Sie mindestens eine Gruppe aus, die die Benutzer enthält, deren Geräte das Skript erhalten sollen. Klicken Sie auf Auswählen. Die Gruppen, die Sie ausgewählt haben, werden in der Liste angezeigt und Ihrer Richtlinie zugeordnet.

      Hinweis

      PowerShell-Skripts in Intune können auf Azure AD-Gerätesicherheitsgruppen oder Azure AD-Benutzersicherheitsgruppen ausgerichtet werden. Wenn Sie jedoch auf in den Arbeitsplatz eingebundene Geräte abzielen, können nur Azure AD-Gerätesicherheitsgruppen verwendet werden (das Abzielen auf Benutzer wird ignoriert). Weitere Informationen finden Sie unter Win32-App-Unterstützung für in den Arbeitsplatz eingebundene Geräte.

    2. Wählen Sie Weiter aus.

      Zuweisen oder Bereitstellen eines PowerShell-Skripts an/für Gerätegruppen in Microsoft Intune

  7. Unter Überprüfen + hinzufügen wird eine Zusammenfassung der Einstellungen angezeigt, die Sie konfiguriert haben. Klicken Sie auf Hinzufügen, um das Skript zu speichern. Wen Sie Hinzufügen auswählen, wird die Richtlinie für die ausgewählten Gruppen bereitgestellt.

Fehler beim Ausführen des Skriptbeispiels

8:00 Uhr

  • Einchecken
  • Skript ConfigScript01 ausführen
  • Fehler beim Ausführen des Skripts

9:00 Uhr

  • Einchecken
  • Skript ConfigScript01 ausführen
  • Fehler beim Ausführen des Skripts (Wiederholungsanzahl = 1)

10:00 Uhr

  • Einchecken
  • Skript ConfigScript01 ausführen
  • Fehler beim Ausführen des Skripts (Wiederholungsanzahl = 2)

11:00 Uhr

  • Einchecken
  • Skript ConfigScript01 ausführen
  • Fehler beim Ausführen des Skripts (Wiederholungsanzahl = 3)

12:00 Uhr

  • Einchecken
  • Es werden keine weiteren Versuche unternommen, Skript ConfigScript01 auszuführen.
  • Wenn keine weiteren Änderungen am Skript vorgenommen werden, werden keine weiteren Versuche unternommen, das Skript auszuführen.

Überwachen des Ausführungsstatus

Sie können den Ausführungsstatus von PowerShell-Skripts für Benutzer und Geräte im Portal überwachen.

Wählen Sie unter PowerShell-Skripts das zu überwachende Skript aus, klicken Sie auf Überwachen, und wählen Sie anschließend einen der folgenden Berichte aus:

  • Gerätestatus
  • Benutzerstatus

Protokolle zur Intune-Verwaltungserweiterung

Agentprotokolle auf dem Clientcomputer befinden sich in der Regel unter C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. Sie können diese Protokolldateien mit CMTrace.exe anzeigen.

Screenshot oder Beispiel-Agent-Protokolle von CMTrace in Microsoft Intune

Löschen eines Skripts

Klicken Sie unter PowerShell-Skripts mit der rechten Maustaste auf das Skript, und klicken Sie dann auf Löschen.

Häufige Probleme und Lösungen

Problem: Die Intune-Verwaltungserweiterung kann nicht heruntergeladen werden

Mögliche Lösungen:

  • Das Gerät ist nicht mit Azure AD verknüpft. Stellen Sie sicher, dass die Geräte die in diesem Artikel beschriebenen Voraussetzungen erfüllen.
  • Den Gruppen, denen der Benutzer oder das Gerät angehört, sind keine PowerShell-Skripts oder Win32-Apps zugewiesen.
  • Das Gerät kann nicht beim Intune-Dienst einchecken. Mögliche Gründe hierfür sind beispielsweise, dass es nicht auf das Internet oder die Windows-Pushbenachrichtigungsdienste (WNS) zugreifen kann.
  • Das Gerät befindet sich im S Modus. Die Intune-Verwaltungserweiterung wird auf Geräten nicht unterstützt, die im S Modus ausgeführt werden.

Folgendermaßen können Sie feststellen, ob das Gerät automatisch registriert wird:

  1. Navigieren Sie zu Einstellungen>Konten>Access work or school (Zugriff auf Geschäfts-, Schul- oder Unikonto).
  2. Wählen Sie die Informationen zum verknüpften Konto >aus.
  3. Wählen Sie unter Advanced Diagnostic Report (Erweiterter Diagnosebericht) Create Report (Bericht erstellen) aus.
  4. Öffnen Sie MDMDiagReport in einem Webbrowser.
  5. Suchen Sie nach der Eigenschaft MDMDeviceWithAAD. Wenn diese Eigenschaft vorhanden ist, wird das Gerät automatisch registriert. Wenn diese Eigenschaft nicht vorhanden ist, wird das Gerät nicht automatisch registriert.

Unter Aktivieren der automatischen Registrierung von Windows 10 sind die erforderlichen Schritte für die Einrichtung der automatischen Registrierung in Intune aufgeführt.

Problem: Die PowerShell-Skripts werden nicht ausgeführt

Mögliche Lösungen:

  • Die PowerShell-Skripts werden nicht bei jeder Anmeldung ausgeführt. Sie werden in folgenden Fällen ausgeführt:

    • Wenn das Skript einem Gerät zugewiesen ist

    • Wenn Sie das Skript ändern, es hochladen und einem Benutzer oder Gerät zuweisen

      Tipp

      Bei der Microsoft Intune-Verwaltungserweiterung handelt es sich um einen Dienst, der wie die anderen Dienste in der Dienst-App (services.msc) auf dem Gerät ausgeführt wird. Nach dem Neustart eines Geräts startet ggf. auch dieser Dienst neu und überprüft, ob dem Intune-Dienst PowerShell-Skripts zugewiesen sind. Wenn die Microsoft Intune-Verwaltungserweiterung auf „Manuell“ festgelegt ist, startet der Dienst nach einem Neustart des Geräts möglicherweise nicht neu.

  • Stellen Sie sicher, dass die Geräte in Azure AD eingebunden sind. Geräte, die nur in Ihren Arbeitsplatz oder Ihre Organisation eingebunden (also in Azure AD registriert) sind, erhalten die Skripts nicht.

  • Vergewissern Sie sich, dass die Intune-Verwaltungserweiterung nach %ProgramFiles(x86)%\Microsoft Intune Management Extension heruntergeladen wurde.

  • Skripts werden nicht auf Surface Hub-Geräten oder unter Windows 10 im S Modus ausgeführt.

  • Überprüfen Sie die Protokolle auf Fehler. Weitere Informationen zu Protokollen zur Intune-Verwaltungserweiterung finden Sie hier.

  • Stellen Sie zur Vermeidung möglicher Probleme mit Berechtigungen sicher, dass die Eigenschaften des PowerShell-Skripts auf Run this script using the logged on credentials festgelegt sind. Überprüfen Sie auch, ob der angemeldete Benutzer über die erforderlichen Berechtigungen zum Ausführen des Skripts verfügt.

  • Sie können Skriptprobleme folgendermaßen eingrenzen:

    • Überprüfen Sie die Konfiguration für die Ausführung von PowerShell auf Ihren Geräten. Weitere Informationen finden Sie unter Set-ExecutionPolicy.

    • Führen Sie über die Intune-Verwaltungserweiterung ein Beispielskript aus. Erstellen Sie zum Beispiel das Verzeichnis C:\Scripts, und erteilen Sie jedem Vollzugriff. Führen Sie folgendes Skript aus:

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

      Wenn dies erfolgreich ist, sollte eine Datei mit dem Namen „output.txt“ erstellt werden, die den Text „Script worked“ (Skript hat funktioniert) enthält.

    • Führen Sie die Skripts zum Testen der Skriptausführung ohne Intune im Systemkonto aus, indem Sie das Tool psexec lokal verwenden:

      psexec -i -s

    • Wenn das Skript fälschlicherweise meldet, dass es erfolgreich ausgeführt wurde, wird AgentExecutor möglicherweise von Ihrem Antivirendienst in einer Sandbox ausgeführt. Das folgende Skript meldet in Intune grundsätzlich einen Fehler. Als Test können Sie dieses Skript verwenden:

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

      Wenn das Skript einen Erfolg meldet, überprüfen Sie AgentExecutor.log, um die Fehlerausgabe zu bestätigen. Wenn das Skript ausgeführt wird, sollte die Länge 2 sein >.

    • Der folgende Codeausschnitt führt das Skript über AgentExecutor für PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0) aus, um die .error- und .output-Dateien zu erfassen. Die Protokolle werden zur Überprüfung aufbewahrt. Beachten Sie, dass die Intune-Verwaltungserweiterung die Protokolle nach der Skriptausführung bereinigt:

      $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
      

Nächste Schritte

Überwachung und Problembehandlung Ihrer Profile.