PowerShell-Dateien für MID Server
PowerShell-Funktionen werden in Skriptdateien (*.ps1) gespeichert, die die Dateinamenserweiterung für PowerShell-Skriptmodule (*.psm1) verwenden.
- Active Directory
- Exchange
- SCCM
- PowerShell
PSScript.ps1
Dieses Skript führt verschiedene Aufgaben aus, wie Testen der Anmeldeinformationen, Verschlüsselung von Passwörtern und Ausführen von im Orchestration-Aktivitätsdesigner oder in MID-Skriptdateien konfigurierten Skripts. Im diesem Dokument wird jedoch hauptsächlich beschrieben, wie PSScript.ps1 mit dem Modul credential.psm1 den Zugriff auf Remote-Hosts testet.
PowerShell-credTypes
PowerShell-Anmeldeinformationstypen:
| Typ | Beschreibung |
|---|---|
| WMI | testCredentialWMI |
| Exchange | testCredentilExchange |
| AD | testCredentilAD |
| SCCM | testCredentialSCCM |
Wenn kein Anmeldeinformationstyp an das Skript PSScrip.ps1 übergeben wird, verwendet der MID Server standardmäßig die WMI-Testfunktion, um den Zugriff auf den Zielhost zu testen. Wenn ein Anmeldeinformationstyp verwendet wird, führt der MID Server die entsprechende Testfunktion für diesen Anmeldeinformationstyp aus.
Beendigungscodes
Diese Beendigungscodes werden vom Skript PSScript.ps1 zurückgegeben und in der MID Server-Protokolldatei protokolliert.
| Typ | Testfunktion |
|---|---|
| 0 | PowerShell-Befehl/-Skript wurde erfolgreich ausgeführt. |
| 1 | Der Test wurde erfolgreich abgeschlossen, aber der Befehl/das Skript konnte nicht ausgeführt werden. |
| 2 | Falsche Syntax an Skript übergeben. |
| 3 | Alle Anmeldeinformationen einschließlich des MID Server-Serviceaccounts konnten den Befehl/das Skript nicht ausführen. |
| 4 | Test bestanden und die Aktivität ausgeführt, es wurde jedoch ein Fehler zurückgegeben. Beispielbenutzer wurde nicht gefunden. |
DiagnosticsUtil.psm1
| Dienstprogramm | Beschreibung |
|---|---|
| SNCLog-DebugInfo | Protokolliert eine Debug-Meldung für ein PowerShell-Skript oder eine PowerShell-Orchestration-Aktivität. Beispiele:
|
| SNCLog-ParameterInfo | Protokolliert einen Funktionsparameterwert. Für "function getHostName{ param( [String] $target )" ist der erste Wert der PowerShell-Hashtabelle eine Zeichenfolge, die die ausgeführte Funktion und die Werte für jeden Funktionsparameter angibt. Beispiele:
|
| SNCObfuscate-Value | Verwenden Sie dieses Dienstprogramm, um Werte aus Sicherheitsgründen zu verschlüsseln. Die Funktion zeigt "$variableName":*** an, wobei *** der verschlüsselte Wert ist. Beispiel: SNCObfuscate-Value $password Hinweis: Die Debug-Meldung lautet: "$password : ***". |
Credentials.psm1
| Funktion | Beschreibung |
|---|---|
| testCredentialWMI | Testet den angegebenen Benutzer und das angegebene Passwort auf dem Zielhost mit dem Objekt Get-WMI. |
| testCredentilAD | Testet den angegebenen Benutzer und das angegebene Passwort auf dem Zielhost mit dem integrierten Objekt DirectoryEntry. |
| testCredentialExchange | Testet den angegebenen Benutzer und das angegebene Passwort, um eine Sitzung auf einem Exchange-Host zu erstellen. Dieser Test verwendet die integrierte PowerShell-Remoting-Funktion auf einem Remote-Host. WinRM ist standardmäßig auf Exchange-Servern konfiguriert. |
| testCredentilSCCM | Testet den angegebenen Benutzer und das angegebene Passwort, um eine Sitzung auf einem SCCM-Server zu erstellen. Dieser Test verwendet die integrierte PowerShell-Remoting-Funktion auf einem Remote-Host. Für diesen Test muss WinRM konfiguriert sein. |
| testNoCredentialAccessWMI | Testet den angegebenen Benutzer und das angegebene Passwort auf dem Zielhost mit dem Objekt Get-WMI. Dieser Test wird verwendet, wenn kein credType angegeben ist. |
Dieses Diagramm veranschaulicht die Abhängigkeit des Verhaltens von Anmeldeinformationen auf dem Zielhost der PowerShell-Aktivität. Wenn der Zielhost die IP-Adresse oder der Hostname des MID Servers ist, umgeht der MID Server alle Anmeldeinformationen in der Tabelle „Anmeldeinformationen“ und verwendet den Account des MID Server-Service. Wenn der Zielhost nicht der MID Server ist, dann werden zuerst alle Windows-Anmeldeinformationen verwendet. Wenn keine der Anmeldeinformationen in der Tabelle „Anmeldeinformationen“ beim Ausführen der PowerShell-Aktivität erfolgreich ist, verwendet der MID Server den MID Server-Serviceaccount.
ActiveDirectory.psm1
Diese Moduldatei speichert die Funktionen, die von den im Aktivitätspaket Active Directory enthaltenen PowerShell-Skripts verwendet werden.
Exchange.psm1
Diese Moduldatei speichert die Funktionen, die von den im Aktivitätspaket Exchange enthaltenen PowerShell-Skripts verwendet werden.
SCCM.psm1
Diese Moduldatei speichert die Funktionen, die von den im Aktivitätspaket SCCM enthaltenen PowerShell-Skripts verwendet werden.