Erste Schritte mit Configuration Manager Cmdlets
Gilt für: Configuration Manager (Current Branch)
Verwenden Sie Windows PowerShell, um Ihre Configuration Manager-Hierarchie zu verwalten. Sie können PowerShell-Skripts verwenden, um Configuration Manager ähnlich wie andere dokumentierte Ansätze mit WMI und C# zu automatisieren oder zu erweitern. Weitere Informationen finden Sie unter Configuration Manager SDK.
Führen Sie Configuration Manager Cmdlets und Skripts in PowerShell über die Configuration Manager-Konsole oder über eine Windows PowerShell-Sitzung aus. Wenn Sie Configuration Manager Cmdlets mithilfe der Configuration Manager-Konsole ausführen, wird Ihre Sitzung automatisch im Kontext der Website ausgeführt.
Hinweis
Alle derzeit unterstützten Versionen von Configuration Manager Current Branch unterstützen Windows PowerShell Version 5.1. Wenn Sie PowerShell Version 7 bereits installiert haben, können Sie weiterhin PowerShell Version 5.1 verwenden. Weitere Informationen finden Sie unter Paralleles Verwenden von PowerShell 7 mit Windows PowerShell 5.1.
Die Configuration Manager PowerShell-Cmdletbibliothek unterstützt PowerShell 7. Weitere Informationen finden Sie unter Unterstützung für PowerShell Version 7.
Ab Version 2103 erfordert das ConfigurationManager PowerShell-Modul Microsoft .NET Version 4.7.2 oder höher.
PowerShell über die Configuration Manager-Konsole
Am einfachsten können Sie PowerShell direkt über die Configuration Manager-Konsole öffnen.
Starten Sie die Configuration Manager-Konsole. In der oberen linken Ecke befindet sich ein blaues Rechteck. Wählen Sie den weißen Pfeil im blauen Rechteck und dann Über Windows PowerShell verbinden aus.
Nachdem Windows PowerShell geladen wurde, wird eine Eingabeaufforderung angezeigt, die Ihren Websitecode enthält. Wenn der Standortcode beispielsweise "ABC" lautet, sieht die Eingabeaufforderung wie folgt aus:
PS ABC:\>
Um zu überprüfen, ob dies funktioniert, verwenden Sie das Cmdlet Get-CMSite . Dieses Cmdlet gibt Informationen zur Configuration Manager Website zurück, mit der Sie derzeit verbunden sind, und zu allen untergeordneten Websites. Beispiel: Name des Standortservers, Installationsdirektor, Standortname und Version.
Hinweis
Wenn Sie PowerShell oder die PowerShell ISE über die Configuration Manager-Konsole starten, wird die AllSigned-Ausführungsrichtlinie für den Prozessbereich verwendet. Wenn diese sichere Standardkonfiguration für Ihre Umgebung zu viel ist, gibt es zwei Optionen, um sie zu umgehen:
- Ändern Sie die Ausführungsrichtlinie mit einem Befehl, der dem folgenden Beispiel ähnelt:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
- Importieren Sie das Configuration Manager PowerShell-Modul.
Importieren des Configuration Manager PowerShell-Moduls
Stellen Sie eine Verbindung mit Configuration Manager aus einer vorhandenen Windows PowerShell-Sitzung her, indem Sie das Configuration Manager Modul manuell laden.
Öffnen Sie eine Windows PowerShell Sitzung über das Startmenü.
Importieren Sie das Configuration Manager-Modul mithilfe des Cmdlets Import-Module. Geben Sie den Pfad zum Configuration Manager Modul an, oder wechseln Sie zu dem Verzeichnis, das das Modul enthält. Standardmäßig befindet sich das Modul im folgenden Pfad:
C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\ConfigurationManager.psd1
Ab Version 2111 wird beim Installieren der Configuration Manager-Konsole der Pfad zum Modul jetzt der Systemumgebungsvariable PSModulePath hinzugefügt. Weitere Informationen finden Sie unter about_PSModulePath. Mit dieser Änderung können Sie das Modul nur anhand seines Namens importieren:
Import-Module ConfigurationManager
Wichtig
Stellen Sie sicher, dass Sie keine ältere Version des Moduls importieren, die möglicherweise in einem anderen Ordner vorhanden ist. Nachdem Sie das Modul importiert haben, verwenden Sie die folgenden Befehle, um die Modulversion und den Pfad zu überprüfen:
(Get-Module -Name ConfigurationManager).Version (Get-Module -Name ConfigurationManager).Path
Im folgenden Beispiel wird in das Verzeichnis des Moduls geändert und anschließend importiert:
Set-Location 'C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin' Import-Module .\ConfigurationManager.psd1
Tipp
Sie können auch die umgebungsvariable SMS_ADMIN_UI_PATH verwenden. Beispiel:
Set-Location "$env:SMS_ADMIN_UI_PATH\..\"
Außerdem können Sie den CD-Alias anstelle des Cmdlets Set-Location verwenden, um Verzeichnisse zu ändern.
Wenn das Configuration Manager Modul zum ersten Mal auf diesen Computer importiert wird, müssen Sie möglicherweise das Standortlaufwerk erstellen. Zum Beispiel:
New-PSDrive -Name "ABC" -PSProvider "CMSite" -Root "siteserver.contoso.com" -Description "Primary site"
Tipp
Wenn Sie PowerShell über die -Konsole starten, wird das PSDrive automatisch als Benutzerfreundlichkeit für die aktuell verbundene Website erstellt. Wenn Sie sich in einer Hierarchie befinden, verwenden Sie New-PSDrive , um Laufwerke für jeden Standort zu erstellen.
Um die Configuration Manager-Cmdlets auszuführen, müssen Sie den Pfad zur Configuration Manager Website wechseln. Im folgenden Beispiel lautet
ABC
der Standortcode :Set-Location ABC:
Vergewissern Sie sich mithilfe des Cmdlets Get-CMSite, dass PowerShell das Configuration Manager Modul ordnungsgemäß geladen hat.
Hilfe aktualisieren
Verwenden Sie das Cmdlet Update-Help, um die neuesten Informationen für das Configuration Manager PowerShell-Modul zu erhalten. Dieser Inhalt ist identisch mit den Inhalten, die auf Microsoft Learn für das ConfigurationManager-Modul veröffentlicht wurden.
Wichtig
Aufgrund einer Änderung der Struktur und Veröffentlichung von aktualisierbaren Inhalten mit version 2103 sollten Sie Update-Help nicht auf einer Website der Version 2010 verwenden. Aktualisieren Sie die Website auf Version 2103 oder höher, und aktualisieren Sie dann den inhalt der lokalen Hilfe.
Weitere Informationen finden Sie unter Versionshinweise zur PowerShell-Version 2103.
Der Computer, auf dem Sie dieses Cmdlet ausführen, benötigt Internetzugriff, insbesondere pshelpprod.blob.core.windows.net
. Führen Sie dann den folgenden Befehl aus einer PowerShell-Sitzung mit erhöhten Rechten aus:
Update-Help -Module ConfigurationManager
Nachdem Sie die hilfe zum Configuration Manager Cmdlets aktualisiert haben, können Sie mithilfe des Cmdlets Get-Help Hilfe zu den Cmdlets erhalten. Beispiel:
Get-Help Get-CMDevice
Get-Help Get-CMDevice -Examples
Get-Help Get-CMDevice -Parameter *
Weitere Informationen finden Sie im folgenden PowerShell-Blogbeitrag: Sie haben Hilfe!.
Allgemeine Parameter
Alle Configuration Manager-Cmdlets unterstützen die allgemeinen PowerShell-Parameter:
- Debuggen
- Erroraction
- ErrorVariable
- InformationAction
- InformationVariable
- OutVariable
- OutBuffer
- PipelineVariable
- Ausführlich
- Warningaction
- WarningVariable
Weitere Informationen finden Sie unter about_CommonParameters.
Unterstützung für PowerShell Version 7
Die Configuration Manager PowerShell-Cmdletbibliothek unterstützt PowerShell Version 7. Weitere Informationen zu PowerShell 7, einschließlich Anweisungen zum Herunterladen und Installieren von PowerShell, finden Sie unter Installieren von PowerShell unter Windows.
Tipp
PowerShell 7 wird als pwsh.exe
ausgeführt. Frühere Versionen von PowerShell werden als powershell.exe
ausgeführt.
Cmdlets, die PowerShell Version 7 nicht unterstützen
Die folgenden Cmdlets unterstützen PowerShell 7 nicht:
- Import-CMPackage
- Import-CMDriverPackage
- Import-CMTaskSequence
- Export-CMPackage
- Export-CMDriverPackage
- Export-CMTaskSequence
- Add-CMReportingServicePoint
- Get-CMReportingServicePoint
- Remove-CMReportingServicePoint
- Set-CMReportingServicePoint
Sie erfordern das .NET Framework anstelle von .NET Core, das mit PowerShell Version 7 verwendet wird.
Ab Version 2103 tritt der folgende Fehler auf, wenn Sie versuchen, diese Cmdlets in einer PowerShell-Sitzung der Version 7 zu verwenden: This cmdlet only supports the ".NET Framework" runtime.
Bekannte Probleme mit PowerShell Version 7
Sie können PowerShell 7 nicht direkt über die Configuration Manager-Konsole starten. Starten Sie PowerShell 7 manuell, und importieren Sie dann das Configuration Manager Modul.
Aktuelle Unterstützung gilt nur für die Configuration Manager-Cmdlets. Andere Features von Configuration Manager, die auf PowerShell basieren, unterstützen möglicherweise Version 7 nicht. Beispiel: Skripts ausführen, CMPivot oder der Tasksequenzschritt PowerShell-Skript ausführen .
Feedback zu PowerShell
Wenn Sie Feedback zu den Configuration Manager PowerShell-Cmdlets haben, verwenden Sie die gleichen Optionen in der Configuration Manager-Konsole, um Feedback zu senden. Weitere Informationen finden Sie unter Produktfeedback.
Wenn Sie ein Stirnrunzeln senden, fügen Sie die folgenden zusätzlichen Informationen ein, die speziell für PowerShell gelten:
Die genaue Skript- oder Befehlssyntax, die Sie verwendet haben, damit Microsoft versuchen kann, das Problem zu reproduzieren.
Welches Verhalten Sie im Vergleich zum tatsächlichen Verhalten erwartet haben.
Die vollständige Ausgabe, wenn Sie sie mit dem allgemeinen Parameter Verbose ausführen.
Die Version und der Pfad des ConfigurationManager-Moduls . Schließen Sie beispielsweise die Ausgabe der folgenden Befehle ein:
(Get-Module -Name ConfigurationManager).Version (Get-Module -Name ConfigurationManager).Path
Wenn ein Cmdlet einen Fehler zurückgibt, verwenden Sie den folgenden Befehl, um Ausnahmedetails abzurufen:
$Error[0].Exception | Format-List * -Force
Vorschauversionshinweise
Der Artikel zu den Technical Preview-Features in der Kerndokumentationsbibliothek enthält Versionshinweise für PowerShell. Weitere Informationen finden Sie beispielsweise unter Technical Preview Version 2202.
Nächste Schritte
Um weitere Informationen darüber zu erhalten, was sich in der neuesten Version von Configuration Manager geändert hat, wählen Sie die neuesten Versionshinweise aus dem Inhaltsverzeichnis aus.
Weitere Informationen zu einzelnen Cmdlets finden Sie in der Configuration Manager-Cmdlet-Referenz.
Weitere Informationen zum Lernen und den ersten Schritten mit Windows PowerShell finden Sie unter PowerShell 101.