Teilen über


Erstellen und Ausführen von PowerShell-Skripts über die Configuration Manager-Konsole

Gilt für: Configuration Manager (Current Branch)

Configuration Manager verfügt über eine integrierte Möglichkeit zum Ausführen von PowerShell-Skripts. PowerShell hat den Vorteil, komplexe, automatisierte Skripts zu erstellen, die verstanden und für eine größere Community freigegeben werden. Die Skripts vereinfachen das Erstellen benutzerdefinierter Tools zur Verwaltung von Software und ermöglichen es Ihnen, alltägliche Aufgaben schnell auszuführen, sodass Sie große Aufgaben einfacher und konsistenter erledigen können.

Hinweis

In Version 2006 und früher aktiviert Configuration Manager dieses optionale Feature nicht standardmäßig. Sie müssen dieses Feature aktivieren, bevor Sie es verwenden können. Weitere Informationen finden Sie unter Aktivieren optionaler Features aus Updates.

Mit dieser Integration in Configuration Manager können Sie die Funktion Skripts ausführen für folgende Aufgaben verwenden:

  • Erstellen und bearbeiten Sie Skripts für die Verwendung mit Configuration Manager.
  • Verwalten der Skriptverwendung über Rollen und Sicherheitsbereiche.
  • Ordnerunterstützung für Skripts.
  • Ausführen von Skripts auf Sammlungen oder einzelnen lokalen verwalteten Windows-PCs.
  • Planen Sie die Laufzeit von Skripts in UTC auf Sammlungen oder einzelnen lokalen verwalteten Windows-PCs.
  • Abrufen schneller aggregierter Skriptergebnisse von Clientgeräten.
  • Überwachen der Skriptausführung und Anzeigen von Berichtsergebnissen aus der Skriptausgabe

Warnung

  • Angesichts der Leistungsfähigkeit von Skripts erinnern wir Sie daran, mit ihrer Verwendung absichtlich und vorsichtig zu sein. Wir haben zusätzliche Sicherheitsvorkehrungen integriert, um Sie zu unterstützen; getrennte Rollen und Bereiche. Stellen Sie sicher, dass Sie die Genauigkeit von Skripts überprüfen, bevor Sie sie ausführen, und vergewissern Sie sich, dass sie aus einer vertrauenswürdigen Quelle stammen, um eine unbeabsichtigte Skriptausführung zu verhindern. Achten Sie auf erweiterte Zeichen oder andere Verschleierungen, und informieren Sie sich über das Schützen von Skripts. Weitere Informationen zur sicheren Verwendung von PowerShell-Skripts
  • Bestimmte Antischadsoftware kann versehentlich Ereignisse für die Configuration Manager-Ausführungsskripts oder CMPivot-Features auslösen. Es wird empfohlen, %windir%\CCM\ScriptStore auszuschließen, damit die Antischadsoftware diese Funktionen ohne Störungen ausführen kann.

Voraussetzungen

  • Um PowerShell-Skripts ausführen zu können, muss auf dem Client PowerShell 3.0 installiert sein. Wenn jedoch ein skript, das Sie ausführen, Funktionen aus einer höheren Version von PowerShell enthält, muss auf dem Client, auf dem Sie das Skript ausführen, diese Version von PowerShell ausgeführt werden.
  • Configuration Manager-Clients müssen den Client ab Version 1706 oder höher ausführen, um Skripts ausführen zu können.
  • Um Skripts verwenden zu können, müssen Sie Mitglied der entsprechenden Configuration Manager-Sicherheitsrolle sein.
  • Zum Importieren und Erstellen von Skripts: Ihr Konto muss über die Berechtigung Erstellen für SMS-Skripts verfügen.
  • Um Skripts zu genehmigen oder zu verweigern: Ihr Konto muss über Genehmigungsberechtigungen für SMS-Skripts verfügen.
  • Zum Ausführen von Skripts: Ihr Konto muss über Skriptausführungsberechtigungen für Sammlungen verfügen.

Weitere Informationen zu Configuration Manager-Sicherheitsrollen:
Sicherheitsbereiche für Ausführungsskripts
Sicherheitsrollen für Ausführungsskripts
Grundlagen der rollenbasierten Verwaltung.

Begrenzungen

Run Scripts unterstützt derzeit Folgendes:

  • Skriptsprachen: PowerShell
  • Parametertypen: integer, string und list.

Warnung

Beachten Sie, dass bei Verwendung von Parametern eine Oberfläche für ein potenzielles Angriffsrisiko durch Einschleusung von PowerShell geöffnet wird. Es gibt verschiedene Möglichkeiten, die Eingabe von Parametern mithilfe von regulären Ausdrücken zu überprüfen oder vordefinierte Parameter zu verwenden. Eine gängige bewährte Methode besteht darin, keine Geheimnisse in Ihre PowerShell-Skripts einzuschließen (keine Kennwörter usw.). Weitere Informationen zur Sicherheit von PowerShell-Skripts

Ausführen von Skriptautoren und genehmigenden Personen

Skripts ausführen verwendet das Konzept von Skriptautoren und genehmigenden Skripts als separate Rollen für die Implementierung und Ausführung eines Skripts. Wenn die Rollen autor und genehmigend voneinander getrennt sind, kann eine wichtige Prozessüberprüfung für das leistungsstarke Tool ausgeführt werden, das Skripts ausführen ist. Es gibt eine zusätzliche Skript-Runnerrolle , die die Ausführung von Skripts, aber nicht das Erstellen oder Genehmigen von Skripts ermöglicht. Weitere Informationen finden Sie unter Erstellen von Sicherheitsrollen für Skripts.

Skriptrollensteuerung

Standardmäßig können Benutzer ein skript, das sie erstellt haben, nicht genehmigen. Da Skripts leistungsstark, vielseitig und potenziell auf vielen Geräten bereitgestellt werden, können Sie die Rollen zwischen der Person, die das Skript erstellt, und der Person, die das Skript genehmigt, trennen. Diese Rollen bieten ein zusätzliches Maß an Sicherheit beim Ausführen eines Skripts ohne Aufsicht. Sie können die sekundäre Genehmigung deaktivieren, um das Testen zu vereinfachen.

Genehmigen oder Verweigern eines Skripts

Skripts müssen von der Rolle genehmigende Skripts genehmigt werden, bevor sie ausgeführt werden können. So genehmigen Sie ein Skript:

  1. Klicken Sie in der Configuration Manager-Konsole auf Softwarebibliothek.
  2. Klicken Sie im Arbeitsbereich Softwarebibliothek auf Skripts.
  3. Wählen Sie in der Liste Skript das Skript aus, das Sie genehmigen oder verweigern möchten, und klicken Sie dann auf der Registerkarte Start in der Gruppe Skript auf Genehmigen/Verweigern.
  4. Wählen Sie im Dialogfeld Skript genehmigen oder verweigern die Option Genehmigen oder Verweigern für das Skript aus. Geben Sie optional einen Kommentar zu Ihrer Entscheidung ein. Wenn Sie ein Skript verweigern, kann es nicht auf Clientgeräten ausgeführt werden.
    Skript – Genehmigung
  5. Schließen Sie den Assistenten ab. In der Liste Skript wird die Spalte Genehmigungsstatus in Abhängigkeit von der von Ihnen ausgeführten Aktion geändert.

Zulassen, dass Benutzer ihre eigenen Skripts genehmigen können

Diese Genehmigung wird in erster Linie für die Testphase der Skriptentwicklung verwendet.

  1. Klicken Sie in der Configuration Manager-Konsole auf Verwaltung.
  2. Erweitern Sie im Arbeitsbereich Verwaltung den Knoten Standortkonfiguration, und klicken Sie dann auf Standorte.
  3. Wählen Sie in der Liste der Websites Ihre Website aus, und klicken Sie dann auf der Registerkarte Start in der Gruppe Standorte auf Hierarchieeinstellungen.
  4. Deaktivieren Sie auf der Registerkarte Allgemein des Dialogfelds Eigenschaften der Hierarchieeinstellungen das Kontrollkästchen Skriptautoren benötigen zusätzliche Genehmigende Skripts.

Wichtig

Als bewährte Methode sollten Sie einem Skriptautor nicht erlauben, seine eigenen Skripts zu genehmigen. Dies sollte nur in einer Lab-Einstellung zulässig sein. Berücksichtigen Sie sorgfältig die potenziellen Auswirkungen einer Änderung dieser Einstellung in einer Produktionsumgebung.

Sicherheitsbereiche

Skripts ausführen verwendet Sicherheitsbereiche, ein vorhandenes Feature von Configuration Manager, um die Erstellung und Ausführung von Skripts durch Zuweisen von Tags zu steuern, die Benutzergruppen darstellen. Weitere Informationen zur Verwendung von Sicherheitsbereichen finden Sie unter Konfigurieren der rollenbasierten Verwaltung für Configuration Manager.

Erstellen von Sicherheitsrollen für Skripts

Die drei Sicherheitsrollen, die zum Ausführen von Skripts verwendet werden, werden nicht standardmäßig in Configuration Manager erstellt. Führen Sie die beschriebenen Schritte aus, um die Rollen Skriptrunner, Skriptautoren und genehmigende Skripts zu erstellen.

  1. Wechseln Sie in der Configuration Manager-Konsole zu Verwaltungssicherheitssicherheitsrollen>>.
  2. Klicken Sie mit der rechten Maustaste auf eine Rolle, und klicken Sie auf Kopieren. Der Rolle, die Sie kopieren, sind bereits Berechtigungen zugewiesen. Stellen Sie sicher, dass Sie nur die gewünschten Berechtigungen übernehmen.
  3. Geben Sie der benutzerdefinierten Rolle einen Namen und eine Beschreibung.
  4. Weisen Sie der Sicherheitsrolle die unten beschriebenen Berechtigungen zu.

Berechtigungen für Sicherheitsrollen

Rollenname: Script Runner

  • Beschreibung: Diese Berechtigungen ermöglichen es dieser Rolle, nur Skripts auszuführen, die zuvor von anderen Rollen erstellt und genehmigt wurden.
  • Erlaubnisse: Stellen Sie sicher, dass die folgenden Optionen auf Ja festgelegt sind.
Kategorie Berechtigung State
Auflistung Run Script Ja
Website Lesen Ja
SMS-Skripts Lesen Ja

Rollenname: Skriptautoren

  • Beschreibung: Diese Berechtigungen ermöglichen es dieser Rolle, Skripts zu erstellen, aber sie können sie nicht genehmigen oder ausführen.
  • Berechtigungen: Stellen Sie sicher, dass die folgenden Berechtigungen festgelegt sind.
Kategorie Berechtigung State
Auflistung Run Script Nein
Website Lesen Ja
SMS-Skripts Erstellen Ja
SMS-Skripts Lesen Ja
SMS-Skripts Löschen Ja
SMS-Skripts Ändern Ja

Rollenname: Genehmigende Skripts

  • Beschreibung: Diese Berechtigungen ermöglichen es dieser Rolle, Skripts zu genehmigen, aber sie können sie nicht erstellen oder ausführen.
  • Erlaubnisse: Stellen Sie sicher, dass die folgenden Berechtigungen festgelegt sind.
Kategorie Berechtigung State
Auflistung Run Script Nein
Website Lesen Ja
SMS-Skripts Lesen Ja
SMS-Skripts Genehmigen Ja
SMS-Skripts Ändern Ja

Beispiel für SMS-Skriptberechtigungen für die Rolle "Skriptautoren"

Beispiel für SMS-Skriptberechtigungen für die Rolle

Ordnerunterstützung für Skripts

Ab Version 2403 können Sie Skripts mithilfe von Ordnern organisieren. Diese Änderung ermöglicht eine bessere Kategorisierung und Verwaltung von Skripts.

Öffnen Sie die Configuration Manager-Konsole, und wechseln Sie zum Arbeitsbereich Softwarebibliothek. Wählen Sie im Menüband oder im Kontextmenü unter Skripts eine der folgenden Optionen aus:

  • Erstellen von Ordnern
  • Ordner löschen
  • Ordner umbenennen
  • Ordner verschieben
  • Festlegen von Sicherheitsbereichen

Erstellen eines Skripts

  1. Klicken Sie in der Configuration Manager-Konsole auf Softwarebibliothek.
  2. Klicken Sie im Arbeitsbereich Softwarebibliothek auf Skripts.
  3. Klicken Sie auf der Registerkarte Start in der Gruppe Erstellen auf Skript erstellen.
  4. Konfigurieren Sie auf der Seite Skript des Assistenten zum Erstellen von Skripts die folgenden Einstellungen:
    • Skriptname : Geben Sie einen Namen für das Skript ein. Sie können zwar mehrere Skripts mit demselben Namen erstellen, aber die Verwendung doppelter Namen erschwert es Ihnen, das benötigte Skript in der Configuration Manager-Konsole zu finden.
    • Skriptsprache : Derzeit werden nur PowerShell-Skripts unterstützt.
    • Importieren : Importieren Sie ein PowerShell-Skript in die Konsole. Das Skript wird im Feld Skript angezeigt.
    • Löschen : Entfernt das aktuelle Skript aus dem Feld Skript.
    • Skript : Zeigt das aktuell importierte Skript an. Sie können das Skript in diesem Feld nach Bedarf bearbeiten.
  5. Schließen Sie den Assistenten ab. Das neue Skript wird in der Liste Skript mit dem Status Warten auf Genehmigung angezeigt. Bevor Sie dieses Skript auf Clientgeräten ausführen können, müssen Sie es genehmigen.

Wichtig

Vermeiden Sie die Skripterstellung für einen Geräteneustart oder einen Neustart des Configuration Manager-Agents, wenn Sie das Feature Skripts ausführen verwenden. Dies kann zu einem kontinuierlichen Neustartzustand führen. Bei Bedarf gibt es Verbesserungen am Clientbenachrichtigungsfeature, die den Neustart von Geräten ermöglichen. Die Spalte "Ausstehender Neustart " kann dabei helfen, Geräte zu identifizieren, die einen Neustart benötigen.

Skriptparameter

Das Hinzufügen von Parametern zu einem Skript bietet mehr Flexibilität für Ihre Arbeit. Sie können bis zu 10 Parameter einschließen. Im Folgenden wird die aktuelle Funktion des Features "Skripts ausführen" mit Skriptparametern für beschrieben. String, Integer-Datentypen . Listen mit voreingestellten Werten sind ebenfalls verfügbar. Wenn Ihr Skript nicht unterstützte Datentypen aufweist, erhalten Sie eine Warnung.

Klicken Sie im Dialogfeld Skript erstellen unter Skript auf Skriptparameter.

Jeder Parameter Ihres Skripts verfügt über einen eigenen Dialog zum Hinzufügen weiterer Details und Überprüfung. Wenn das Skript einen Standardparameter enthält, wird er in der Benutzeroberfläche des Parameters aufgelistet, und Sie können ihn festlegen. Configuration Manager überschreibt den Standardwert nicht, da das Skript nie direkt geändert wird. Sie können sich dies als "vorab aufgefüllte vorgeschlagene Werte" in der Benutzeroberfläche vorstellen, aber Configuration Manager bietet zur Laufzeit keinen Zugriff auf "Standardwerte". Dies kann durch Bearbeiten des Skripts mit den richtigen Standardwerten behoben werden.

Wichtig

Parameterwerte dürfen kein einfaches Anführungszeichen enthalten.

Es gibt ein bekanntes Problem, bei dem Parameterwerte, die einfache Anführungszeichen enthalten oder in einfache Anführungszeichen eingeschlossen sind, nicht ordnungsgemäß an das Skript übergeben werden. Wenn Sie Standardparameterwerte angeben, die ein Leerzeichen innerhalb eines Skripts enthalten, verwenden Sie stattdessen doppelte Anführungszeichen. Beim Angeben von Standardparameterwerten während der Erstellung oder Ausführung eines Skripts ist die Umgebung des Standardwerts in doppelten oder einfachen Anführungszeichen nicht erforderlich, unabhängig davon, ob der Wert ein Leerzeichen enthält oder nicht.

Parameterüberprüfung

Jeder Parameter in Ihrem Skript verfügt über ein Dialogfeld Skriptparametereigenschaften , in dem Sie die Validierung für diesen Parameter hinzufügen können. Nach dem Hinzufügen der Überprüfung sollten Fehler angezeigt werden, wenn Sie einen Wert für einen Parameter eingeben, der seine Validierung nicht erfüllt.

Beispiel: FirstName

In diesem Beispiel können Sie die Eigenschaften des Zeichenfolgenparameters FirstName festlegen.

Skriptparameter – Zeichenfolge

Der Überprüfungsabschnitt des Dialogfelds Skriptparametereigenschaften enthält die folgenden Felder für Ihre Verwendung:

  • Mindestlänge : Minimale Anzahl von Zeichen des Felds "FirstName ".
  • Maximale Länge: maximale Anzahl von Zeichen des Felds "FirstName "
  • RegEx – kurz für Regulärer Ausdruck. Weitere Informationen zur Verwendung des regulären Ausdrucks finden Sie im nächsten Abschnitt Verwenden der Überprüfung regulärer Ausdrücke.
  • Benutzerdefinierter Fehler : Nützlich zum Hinzufügen einer eigenen benutzerdefinierten Fehlermeldung, die alle Fehlermeldungen der Systemüberprüfung ersetzt.

Verwenden der Überprüfung regulärer Ausdrücke

Ein regulärer Ausdruck ist eine kompakte Form der Programmierung zum Überprüfen einer Zeichenfolge mit einer codierten Validierung. Sie können z. B. überprüfen, ob im Feld FirstName kein groß geschriebenes Zeichen vorhanden ist, indem Sie in das Feld RegEx einfügen[^A-Z].

Die Verarbeitung regulärer Ausdrücke für dieses Dialogfeld wird von .NET Framework unterstützt. Eine Anleitung zur Verwendung regulärer Ausdrücke finden Sie unter .NET Regular Expression and Regular Expression Language.

Skriptbeispiele

Im Folgenden finden Sie einige Beispiele, die Skripts veranschaulichen, die Sie möglicherweise mit dieser Funktion verwenden möchten.

Erstellen eines neuen Ordners und einer neuen Datei

Dieses Skript erstellt einen neuen Ordner und eine Datei innerhalb des Ordners unter Berücksichtigung Ihrer Benennungseingabe.

Param(
[Parameter(Mandatory=$True)]
[string]$FolderName,
[Parameter(Mandatory=$True)]
[string]$FileName
)

New-Item $FolderName -type directory
New-Item $FileName -type file

Betriebssystemversion abrufen

Dieses Skript verwendet WMI, um die Betriebssystemversion des Computers abzufragen.

Write-Output (Get-WmiObject -Class Win32_operatingSystem).Caption

Bearbeiten oder Kopieren von PowerShell-Skripts

Sie können ein vorhandenes PowerShell-Skript bearbeiten oder kopieren , das mit dem Feature Skripts ausführen verwendet wird. Anstatt ein Skript neu zu erstellen, das Sie ändern müssen, bearbeiten Sie es jetzt direkt. Beide Aktionen verwenden die gleiche Assistentenoberfläche wie beim Erstellen eines neuen Skripts. Wenn Sie ein Skript bearbeiten oder kopieren, behält Configuration Manager den Genehmigungsstatus nicht bei.

Tipp

Bearbeiten Sie kein Skript, das aktiv auf Clients ausgeführt wird. Die Ausführung des ursprünglichen Skripts wird nicht abgeschlossen, und Sie erhalten möglicherweise nicht die beabsichtigten Ergebnisse von diesen Clients.

Bearbeiten eines Skripts

  1. Wechseln Sie im Arbeitsbereich Softwarebibliothek zum Knoten Skripts.
  2. Wählen Sie das zu bearbeitende Skript aus, und klicken Sie dann im Menüband auf Bearbeiten .
  3. Ändern oder importieren Sie Ihr Skript auf der Seite Skriptdetails erneut.
  4. Klicken Sie auf Weiter , um die Zusammenfassung anzuzeigen, und dann auf Schließen , wenn Sie die Bearbeitung abgeschlossen haben.

Kopieren eines Skripts

  1. Wechseln Sie im Arbeitsbereich Softwarebibliothek zum Knoten Skripts.
  2. Wählen Sie das zu kopierende Skript aus, und klicken Sie dann im Menüband auf Kopieren .
  3. Benennen Sie das Skript im Feld Skriptname um, und nehmen Sie ggf. weitere Änderungen vor.
  4. Klicken Sie auf Weiter , um die Zusammenfassung anzuzeigen, und dann auf Schließen , wenn Sie die Bearbeitung abgeschlossen haben.

Ausführen eines Skripts

Nachdem ein Skript genehmigt wurde, kann es für ein einzelnes Gerät oder eine Sammlung ausgeführt werden. Sobald die Ausführung Ihres Skripts beginnt, wird es schnell über ein System mit hoher Priorität gestartet, das in einer Stunde zu einem Zeitüberschreitungsout kommt. Die Ergebnisse des Skripts werden dann mithilfe eines Zustandsmeldungssystems zurückgegeben.

So wählen Sie eine Sammlung von Zielen für Ihr Skript aus:

  1. Klicken Sie in der Configuration Manager-Konsole auf Bestand und Kompatibilität.
  2. Klicken Sie im Arbeitsbereich Bestand und Kompatibilität auf Gerätesammlungen.
  3. Klicken Sie in der Liste Gerätesammlungen auf die Sammlung der Geräte, auf denen Sie das Skript ausführen möchten.
  4. Wählen Sie eine Sammlung Ihrer Wahl aus, und klicken Sie auf Skript ausführen.
  5. Wählen Sie auf der Seite Skript des Assistenten skriptausführung ein Skript aus der Liste aus. Es werden nur genehmigte Skripts angezeigt.
  6. Klicken Sie auf Weiter, und schließen Sie dann den Assistenten ab.

Wichtig

Wenn ein Skript nicht ausgeführt wird, z. B. weil ein Zielgerät während des einstündigen Zeitraums ausgeschaltet ist, müssen Sie es erneut ausführen.

Laufzeit von Skripts planen

Ab Configuration Manager Current Branch Version 2309 können Sie die Laufzeit von Skripts jetzt in UTC planen.

Planen der Skriptausführung für eine Sammlung:

  1. Klicken Sie in der Configuration Manager-Konsole auf Bestand und Kompatibilität.

  2. Klicken Sie im Arbeitsbereich Bestand und Kompatibilität auf Gerätesammlungen.

  3. Klicken Sie in der Liste Gerätesammlungen auf die Sammlung der Geräte, auf denen Sie das Skript planen möchten.

  4. Wählen Sie eine Sammlung Ihrer Wahl aus, und klicken Sie auf Skript ausführen.

  5. Wählen Sie auf der Seite Zeitplanung das Kontrollkästchen Ausführen des Skripts planen aus, und geben Sie die Zeitplanzeit in UTC an.

  6. Überprüfen Sie die Details, die auf der Zusammenfassungsseite angezeigt werden.

  7. Klicken Sie auf Weiter, und schließen Sie dann den Assistenten ab.

    Screenshot des Skripts – Zeitplan.

Hinweis

Maximal fünfundzwanzig geplante Skripts werden alle 5 Minuten ausgeführt.

Ausführung des Zielcomputers

Das Skript wird als System - oder Computerkonto auf den Zielclients ausgeführt. Dieses Konto verfügt über eingeschränkten Netzwerkzugriff. Jeder Zugriff auf Remotesysteme und -standorte durch das Skript muss entsprechend bereitgestellt werden.

Skriptüberwachung

Nachdem Sie die Ausführung eines Skripts auf einer Sammlung von Geräten initiiert haben, verwenden Sie das folgende Verfahren, um den Vorgang zu überwachen. Sie können ein Skript bei der Ausführung in Echtzeit überwachen und später zum Status und zu den Ergebnissen für eine bestimmte Ausführung des Skripts zurückkehren. Skriptstatusdaten werden im Rahmen der Wartungsaufgabe Veraltete Clientvorgänge löschen oder löschen des Skripts bereinigt.

Skriptmonitor – Skriptausführungsstatus

  1. Klicken Sie in der Configuration Manager-Konsole auf Überwachung.

  2. Klicken Sie im Arbeitsbereich Überwachung auf Skriptstatus.

  3. In der Liste Skriptstatus zeigen Sie die Ergebnisse für jedes Skript an, das Sie auf Clientgeräten ausgeführt haben. Der Skriptausgangscode 0 gibt im Allgemeinen an, dass das Skript erfolgreich ausgeführt wurde.

    Skriptmonitor – Abgeschnittenes Skript

Planen der Skriptüberwachung für eine Sammlung

  1. Klicken Sie in der Configuration Manager-Konsole auf Überwachung.

  2. Klicken Sie im Arbeitsbereich Überwachung auf den Knoten Geplante Skripts.

  3. In der Liste der geplanten Skripts wird eine neue Zeile angezeigt.

  4. Vergewissern Sie sich, dass in der Liste der geplanten Skripts eine neue Zeile angezeigt wurde. Die Statusspalte sollte den Wert Scheduled aufweisen. Die Spalte ClientOperationId sollte leer sein. Vergewissern Sie sich, dass die anderen Spalten wie Skriptname, Zeitplanzeit usw. über geeignete Werte verfügen.

  5. Aktualisieren Sie nach dem Zeitplanzeitpunkt den Knoten Geplante Skripts . Die Statusspalte sollte den Wert Clientvorgang erfolgreich initiiert haben. Die Spalte ClientOperationId muss einen ganzzahligen Wert aufweisen.

  6. Klicken Sie im Arbeitsbereich Überwachung auf den Knoten Skriptstatus. Überprüfen Sie, ob eine neue Zeile in der Liste angezeigt wurde und die ClientOperationId gleich der ClientOperationId aus dem Knoten Geplante Skripts ist.

  7. Klicken Sie auf Status anzeigen , und stellen Sie sicher, dass die Skriptausgabe angezeigt wird.

    Screenshot des Skripts: Planen der Überwachung,

Skriptausgabe

Die Skriptausgabe des Clients wird mithilfe von JSON-Formatierung zurückgegeben, indem die Ergebnisse des Skripts an das Cmdlet ConvertTo-Json weitergeleitet werden. Das JSON-Format gibt konsistent lesbare Skriptausgabe zurück. Bei Skripts, die keine Objekte als Ausgabe zurückgeben, konvertiert das Cmdlet ConvertTo-Json die Ausgabe in eine einfache Zeichenfolge, die der Client anstelle von JSON zurückgibt.

  • Skripts, die ein unbekanntes Ergebnis erhalten oder bei denen der Client offline war, werden nicht in den Diagrammen oder datasets angezeigt.

  • Vermeiden Sie die Rückgabe großer Skriptausgaben, da sie auf 4 KB abgeschnitten ist.

  • Konvertieren Sie ein Enumerationsobjekt in Skripts in einen Zeichenfolgenwert, damit es in der JSON-Formatierung ordnungsgemäß angezeigt wird.

    Konvertieren eines Enumerationsobjekts in einen Sting-Wert

Sie können die detaillierte Skriptausgabe im rohen oder strukturierten JSON-Format anzeigen. Diese Formatierung erleichtert das Lesen und Analysieren der Ausgabe. Wenn das Skript gültigen JSON-formatierten Text zurückgibt oder die Ausgabe mithilfe des PowerShell-Cmdlets ConvertTo-Json in JSON konvertiert werden kann, zeigen Sie die detaillierte Ausgabe entweder als JSON-Ausgabe oder als Unformatierte Ausgabe an. Andernfalls ist die einzige Option Skriptausgabe.

Beispiel: Die Skriptausgabe kann in gültigen JSON-Code konvertiert werden.

Befehl: $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      16299  551

Beispiel: Die Skriptausgabe ist kein gültiger JSON-Code.

Befehl: Write-Output (Get-WmiObject -Class Win32_OperatingSystem).Caption

Microsoft Windows 10 Enterprise

Protokolldateien

  • Auf dem Client standardmäßig in C:\Windows\CCM\logs:

    • Scripts.log
    • CcmMessaging.log
  • Auf dem MP standardmäßig in C:\SMS_CCM\Logs:

    • MP_RelayMsgMgr.log
  • Auf dem Standortserver standardmäßig unter C:\Programme\Configuration Manager\Logs:

    • SMS_Message_Processing_Engine.log

Automatisieren mit Windows PowerShell

Sie können die folgenden PowerShell-Cmdlets verwenden, um einige dieser Aufgaben zu automatisieren:

Siehe auch