Introduzione ai cmdlet Configuration Manager

Si applica a: Configuration Manager (Current Branch)

Usare Windows PowerShell per gestire la gerarchia Configuration Manager. È possibile usare script di PowerShell per automatizzare o estendere Configuration Manager simili ad altri approcci documentati usando WMI e C#. Per altre informazioni, vedere Configuration Manager SDK.

Eseguire Configuration Manager cmdlet e script in PowerShell dalla console di Configuration Manager o da una sessione Windows PowerShell. Quando si eseguono Configuration Manager cmdlet usando la console Configuration Manager, la sessione viene eseguita automaticamente nel contesto del sito.

Nota

Tutte le versioni attualmente supportate di Configuration Manager current branch supportano Windows PowerShell versione 5.1. Se PowerShell versione 7 è già stato installato, è comunque possibile usare PowerShell versione 5.1. Per altre informazioni, vedere Uso di PowerShell 7 side-by-side con Windows PowerShell 5.1.

La libreria di cmdlet di PowerShell Configuration Manager supporta PowerShell 7. Per altre informazioni, vedere Supporto per PowerShell versione 7.

A partire dalla versione 2103, il modulo ConfigurationManager PowerShell richiede Microsoft .NET versione 4.7.2 o successiva.

PowerShell dalla console di Configuration Manager

Il metodo più semplice per aprire PowerShell è direttamente dalla console di Configuration Manager.

  1. Avviare la console Configuration Manager. Nell'angolo superiore sinistro è presente un rettangolo blu. Selezionare la freccia bianca nel rettangolo blu e scegliere Connetti tramite Windows PowerShell.

  2. Dopo Windows PowerShell caricamento, verrà visualizzata una richiesta che contiene il codice del sito. Ad esempio, se il codice del sito è "ABC", il prompt sarà simile al seguente: PS ABC:\>

  3. Per verificarne il funzionamento, usare il cmdlet Get-CMSite . Questo cmdlet restituisce informazioni sul sito Configuration Manager a cui si è attualmente connessi ed eventuali siti figlio. Ad esempio, il nome del server del sito, il direttore dell'installazione, il nome del sito e la versione.

Nota

Quando si avvia PowerShell o PowerShell ISE dalla console di Configuration Manager, vengono usati i criteri di esecuzione AllSigned per l'ambito Processo. Se questa configurazione sicura predefinita è eccessiva per l'ambiente, sono disponibili due opzioni per aggirarla:

Importare il modulo powershell Configuration Manager

Connettersi a Configuration Manager da una sessione di Windows PowerShell esistente caricando manualmente il modulo Configuration Manager.

  1. Aprire una sessione di Windows PowerShell dal menu Start.

  2. Importare il modulo Configuration Manager usando il cmdlet Import-Module. Specificare il percorso del modulo Configuration Manager o passare alla directory che contiene il modulo. Per impostazione predefinita, il modulo si trova nel percorso seguente: C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\ConfigurationManager.psd1

    A partire dalla versione 2111, quando si installa la console Configuration Manager, il percorso del modulo viene ora aggiunto alla variabile di ambiente di sistema PSModulePath. Per altre informazioni, vedere about_PSModulePath. Con questa modifica, è possibile importare il modulo solo in base al nome: Import-Module ConfigurationManager

    Importante

    Assicurarsi di non importare una versione precedente del modulo che potrebbe esistere in un'altra cartella. Dopo aver importato il modulo, usare i comandi seguenti per controllare la versione e il percorso del modulo:

    (Get-Module -Name ConfigurationManager).Version
    (Get-Module -Name ConfigurationManager).Path
    

    Nell'esempio seguente viene modificato nella directory del modulo e quindi viene importato:

    Set-Location 'C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin'
    Import-Module .\ConfigurationManager.psd1
    

    Consiglio

    È anche possibile usare la variabile di ambiente SMS_ADMIN_UI_PATH . Ad esempio:

    Set-Location "$env:SMS_ADMIN_UI_PATH\..\"
    

    È anche possibile usare l'alias cd per modificare le directory anziché il cmdlet Set-Location .

  3. Se è la prima volta che si importa il modulo Configuration Manager in questo computer, potrebbe essere necessario creare l'unità del sito. Per esempio:

    New-PSDrive -Name "ABC" -PSProvider "CMSite" -Root "siteserver.contoso.com" -Description "Primary site"
    

    Consiglio

    Quando si avvia PowerShell dalla console, viene creato automaticamente PSDrive come comodità per il sito attualmente connesso. Se si è in una gerarchia, usare New-PSDrive per creare unità per ogni sito.

  4. Per eseguire i cmdlet Configuration Manager, è necessario passare al percorso del sito Configuration Manager. Nell'esempio seguente il codice del sito è ABC:

    Set-Location ABC:
    
  5. Verificare che PowerShell ha caricato correttamente il modulo Configuration Manager usando il cmdlet Get-CMSite.

Aggiornare la Guida

Per ottenere le informazioni più recenti per il modulo Configuration Manager PowerShell, usare il cmdlet Update-Help. Questo contenuto è uguale a quello pubblicato in Microsoft Learn per il modulo ConfigurationManager.

Importante

A causa di una modifica del modo in cui il contenuto aggiornabile è strutturato e pubblicato con la versione 2103, non usare Update-Help in un sito versione 2010. Aggiornare il sito alla versione 2103 o successiva e quindi aggiornare il contenuto della Guida locale.

Per altre informazioni, vedere Note sulla versione di PowerShell 2103.

Il computer in cui si esegue questo cmdlet richiede l'accesso a Internet, in particolare pshelpprod.blob.core.windows.net. Eseguire quindi il comando seguente da una sessione di PowerShell con privilegi elevati:

Update-Help -Module ConfigurationManager

Dopo aver aggiornato la Guida del cmdlet Configuration Manager, è possibile ottenere assistenza sui cmdlet usando il cmdlet Get-Help. Ad esempio:

Get-Help Get-CMDevice
Get-Help Get-CMDevice -Examples
Get-Help Get-CMDevice -Parameter *

Per altre informazioni, vedere il post di blog di PowerShell seguente: Guida.

Parametri comuni

Tutti i cmdlet Configuration Manager supportano i parametri di PowerShell comuni:

  • Debug
  • Erroraction
  • ErrorVariable
  • InformationAction
  • InformationVariable
  • OutVariable
  • OutBuffer
  • PipelineVariable
  • Dettagliato
  • Warningaction
  • WarningVariable

Per altre informazioni, vedere about_CommonParameters.

Supporto per PowerShell versione 7

La libreria di cmdlet Configuration Manager PowerShell supporta PowerShell versione 7. Per altre informazioni su PowerShell 7, incluse le istruzioni su come scaricarlo e installarlo, vedere Installare PowerShell in Windows.

Consiglio

PowerShell 7 viene eseguito come pwsh.exe. Le versioni precedenti di PowerShell vengono eseguite come powershell.exe.

Cmdlet che non supportano PowerShell versione 7

I cmdlet seguenti non supportano PowerShell 7:

  • Import-CMPackage
  • Import-CMDriverPackage
  • Import-CMTaskSequence
  • Export-CMPackage
  • Export-CMDriverPackage
  • Export-CMTaskSequence
  • Add-CMReportingServicePoint
  • Get-CMReportingServicePoint
  • Remove-CMReportingServicePoint
  • Set-CMReportingServicePoint

Richiedono .NET Framework anziché .NET Core usato con PowerShell versione 7.

A partire dalla versione 2103, se si tenta di usare questi cmdlet in una sessione di PowerShell versione 7, l'errore è il seguente: This cmdlet only supports the ".NET Framework" runtime.

Problemi noti relativi a PowerShell versione 7

  • Non è possibile avviare PowerShell 7 direttamente dalla console di Configuration Manager. Avviare manualmente PowerShell 7 e quindi importare il modulo Configuration Manager.

  • Il supporto corrente è solo per i cmdlet Configuration Manager. Altre funzionalità di Configuration Manager basate su PowerShell potrebbero non supportare la versione 7. Ad esempio, Eseguire script, CMPivot o il passaggio Della sequenza di attività Esegui script di PowerShell .

Commenti e suggerimenti per PowerShell

Se si hanno commenti e suggerimenti sui cmdlet di PowerShell Configuration Manager, usare le stesse opzioni nella console di Configuration Manager per inviare commenti e suggerimenti. Per altre informazioni, vedere Commenti e suggerimenti sui prodotti.

Quando si invia un cipiglio, includere le informazioni aggiuntive seguenti specifiche di PowerShell:

  • La sintassi esatta dello script o del comando usata in modo che Microsoft possa provare a riprodurre il problema.

  • Comportamento previsto rispetto al comportamento effettivo.

  • Output completo quando viene eseguito con il parametro comune Verbose .

  • Versione e percorso del modulo ConfigurationManager . Ad esempio, includere l'output dei comandi seguenti:

    (Get-Module -Name ConfigurationManager).Version
    (Get-Module -Name ConfigurationManager).Path
    
  • Se un cmdlet restituisce un errore, usare il comando seguente per ottenere i dettagli dell'eccezione:

    $Error[0].Exception | Format-List * -Force
    

Note sulla versione di anteprima

L'articolo sulle funzionalità di Technical Preview nella libreria della documentazione di base include le note sulla versione per PowerShell. Ad esempio, vedere Technical Preview versione 2202.

Passaggi successivi

Per altre informazioni sulle modifiche apportate alla versione più recente di Configuration Manager, selezionare le note sulla versione più recenti dal sommario.

Per altre informazioni sui singoli cmdlet, vedere le informazioni di riferimento sui cmdlet Configuration Manager.

Per altre informazioni sull'apprendimento e sull'introduzione a Windows PowerShell, vedere PowerShell 101.