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 einige Aufgaben aus, z. B. das Testen von Anmeldeinformationen, die Passwortverschlüsselung und die Ausführung von Skripts, die im Orchestration-Aktivitäts-Designer oder in MID-Skriptdateien konfiguriert sind. 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 Exitcodes werden vom Skript PSScript.ps1 zurückgegeben und in der Protokolldatei des MID-Servers 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-Servicekontos, 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 | Protokollieren Sie 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 Anwender und das angegebene Passwort auf dem Zielhost mithilfe des Objekts Get-WMI. |
| testCredentilAD | Testet den angegebenen Anwender und das angegebene Passwort auf dem Zielhost mithilfe des integrierten Objekts 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 Anwender und das angegebene Passwort auf dem Zielhost mithilfe des Objekts 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 das Konto des MID-Server-Services. Wenn der Zielhost nicht der MID-Server ist, werden zuerst alle Windows -Anmeldeinformationen verwendet. Wenn alle Anmeldeinformationen in der Tabelle „Anmeldeinformationen“ beim Ausführen der PowerShell-Aktivität nicht erfolgreich sind, verwendet der MID-Server das Servicekonto des MID-Servers.
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.