about_WSMan_Provider

Nome provider

WSMan

Unità

WSMan:

Descrizione breve

Fornisce l'accesso alle informazioni di configurazione di Servizi Web per la gestione (WS-Management).

Descrizione dettagliata

Queste informazioni si applicano solo a PowerShell in esecuzione in Windows.

Il provider WSMan per PowerShell consente di aggiungere, modificare, cancellare ed eliminare i dati di configurazione di WS-Management in computer locali o remoti.

Il provider WSMan espone un'unità Di PowerShell con una struttura di directory che corrisponde a un raggruppamento logico delle impostazioni di configurazione di WS-Management. Questi raggruppamenti sono noti come contenitori.

A partire da Windows PowerShell 3.0, il provider WSMan è stato aggiornato per supportare nuove proprietà per le configurazioni di sessione, ad esempio OutputBufferingMode. Le configurazioni di sessione vengono visualizzate come elementi nella directory Plugin dell'unità WSMan: e le proprietà vengono visualizzate come elementi in ogni configurazione di sessione.

Il provider WSMan supporta i cmdlet seguenti, illustrati in questo articolo.

Nota

È possibile usare i comandi nell'unità WSMan: per modificare i valori delle nuove proprietà. Tuttavia, non è possibile usare l'unità WSMan: in PowerShell 2.0 per modificare le proprietà introdotte in Windows PowerShell 3.0. Anche se non viene generato alcun errore, i comandi non sono efficaci Per modificare queste impostazioni, usare l'unità WSMan in Windows PowerShell 3.0.

Organizzazione dell'unità WSMan:

  • Client: è possibile configurare vari aspetti del client WS-Management. Le informazioni di configurazione vengono archiviate nel Registro di sistema.

  • Servizio: è possibile configurare vari aspetti del servizio WS-Management. Le informazioni di configurazione vengono archiviate nel Registro di sistema.

    Nota

    La configurazione del servizio viene talvolta definita configurazione del server.

  • Shell: è possibile configurare vari aspetti della shell WS-Management, ad esempio l'impostazione per consentire l'accesso alla shell remota (AllowRemoteShellAccess) e il numero massimo di utenti simultanei consentiti (MaxConcurrentUsers).

  • Listener: è possibile creare e configurare un listener. Un listener è un servizio di gestione che implementa il protocollo WS-Management da inviare e ricevere messaggi.

  • Plug-in: i plug-in vengono caricati e usati dal servizio WS-Management per fornire varie funzioni. Per impostazione predefinita, PowerShell offre tre plug-in:

    • Plug-in di inoltro eventi.
    • Plug-in Microsoft.PowerShell.
    • Plug-in Strumentazione gestione Windows (WMI). Questi tre plug-in supportano l'inoltro degli eventi, la configurazione e l'accesso WMI.
  • ClientCertificate: è possibile creare e configurare un certificato client. Un certificato client viene usato quando il client WS-Management è configurato per l'uso dell'autenticazione del certificato.

Gerarchia di directory del provider WSMan

La gerarchia di directory del provider WSMan per il computer locale è la seguente.

WSMan:\localhost
--- Client
--- Service
--- Shell
--- Listener
------ <Specific_Listener>
--- Plugin
------ Event Forwarding Plugin
--------- InitializationParameters
--------- Resources
------------ Security
------ Microsoft.Powershell
--------- InitializationParameters
--------- Resources
------------ Security
------ WMI Provider
--------- InitializationParameters
--------- Resources
------------ Security
--- ClientCertificate

La gerarchia di directory del provider WSMan per un computer remoto è identica a quella di un computer locale. Tuttavia, per accedere alle impostazioni di configurazione di un computer remoto, è necessario stabilire una connessione al computer remoto usando Connessione-WSMan. Una volta stabilita una connessione a un computer remoto, il nome del computer remoto viene visualizzato nel provider.

WSMan:\<Remote_Computer_Name>

Questo comando usa il Set-Location cmdlet per modificare il percorso corrente nell'unità WSMan: .

Set-Location WSMan:

Per tornare in un'unità di file system, digitare il relativo nome. Ad esempio, digitare .

Set-Location C:

Questo comando usa il Set-Location comando per modificare il percorso corrente nel percorso radice nel percorso dell'archivio di sistema remoto. Utilizzare una barra rovesciata o una barra \/ per indicare un livello dell'unità WSMan: .

Set-Location -Path  WSMan:\SERVER01

Nota

Il comando precedente presuppone che esista già una connessione al sistema remoto.

Visualizzazione del contenuto dell'unità WSMan:

Questo comando usa il Get-Childitem cmdlet per visualizzare gli archivi WS-Management nel percorso dell'archivio Localhost.

Get-ChildItem -path WSMan:\Localhost

Se ci si trova nell'unità WSMan: , è possibile omettere il nome dell'unità.

Questo comando usa il Get-Childitem cmdlet per visualizzare gli archivi WS-Management nel percorso dell'archivio "edizione Standard RVER01" del computer remoto.

Get-ChildItem -path WSMan:\SERVER01

Nota

Il comando precedente presuppone che esista già una connessione al sistema remoto.

Impostazione del valore degli elementi nell'unità WSMAN:

È possibile usare il Set-Item cmdlet per modificare le impostazioni di configurazione nell'unità WSMAN . Nell'esempio seguente viene impostato il valore TrustedHosts per accettare tutti gli host con il suffisso "contoso.com".

# You do not need to specify the -Path parameter name when using Set-Item.
PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"

Il Set-Item cmdlet supporta un parametro aggiuntivo -Concatenate che aggiunge un valore anziché modificarlo. Nell'esempio seguente verrà aggiunto un nuovo valore "*.domain2.com" al valore precedente archiviato in TrustedHost:

Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate

Creazione di elementi nell'unità WSMAN:

Creazione di un nuovo listener

Il New-Item cmdlet crea elementi all'interno di un'unità del provider. Ogni provider ha tipi di elementi diversi che è possibile creare. Nell'unità WSMAN: è possibile creare listener configurati per ricevere e rispondere alle richieste remote. Il comando seguente crea un nuovo listener HTTP usando il New-Item cmdlet .

New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force

Creazione di un nuovo plug-in

Questo comando crea (registra) un plug-in per il servizio WS-Management.

New-Item -Path WSMan:\localhost\Plugin `
         -Plugin TestPlugin `
         -FileName %systemroot%\system32\WsmWmiPl.dll `
         -Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
         -SDKVersion 1 `
         -Capability "Get","Put","Invoke","Enumerate" `
         -XMLRenderingType text

Creazione di una nuova voce di risorsa

Questo comando crea una voce di risorsa nella directory Resources di un oggetto TestPlugin. Questo comando presuppone che sia stato creato un testPlugin usando un comando separato.

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
         -ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
         -Capability "Enumerate"

Creazione di una nuova voce di sicurezza per una risorsa

Questo comando crea una voce di sicurezza nella directory Sicurezza di Resource_5967683 (una risorsa specifica). Questo comando presuppone che la voce della risorsa sia stata creata usando un comando separato.

$path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
New-Item -Path $path\Security `
         -Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"

Creazione di un nuovo certificato client

Questo comando crea la voce ClientCertificate che può essere usata dal client WS-Management. Il nuovo ClientCertificate verrà visualizzato nella directory ClientCertificate come "ClientCertificate_1234567890". Tutti i parametri sono obbligatori. L'autorità emittente deve essere identificazione personale del certificato delle autorità emittenti.

$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
         -Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
         -URI wmicimv2/* `
         -Credential $cred;

Creazione di un nuovo parametro di inizializzazione

Questo comando crea un parametro di inizializzazione denominato "testparametername" nella directory "InitializationParameters". Questo comando presuppone che il comando "TestPlugin" sia stato creato usando un comando separato.

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
         -ParamName testparametername `
         -ParamValue testparametervalue

Parametri dinamici

I parametri dinamici sono parametri cmdlet aggiunti da un provider di PowerShell e sono disponibili solo quando il cmdlet viene usato nell'unità abilitata per il provider.

Stringa indirizzo <>

Specifica l'indirizzo per cui è stato creato il listener. Il valore può essere uno dei seguenti:

  • Stringa letterale "*". Il carattere jolly (*) rende il comando associato a tutti gli indirizzi IP in tutte le schede di rete.
  • Stringa letterale "IP:" seguita da un indirizzo IP valido in formato decimale punteggiato IPv4 o in formato Esadecimale clonato IPv6.
  • Stringa letterale "MAC:" seguita dall'indirizzo MAC di un adattatore. Ad esempio: MAC:32-a3-58-90-be-cc.

Nota

Il valore Address viene impostato durante la creazione di un listener.

Cmdlet supportati

Enumerazione Capability <>

Quando si usa plug-in questo parametro, questo parametro specifica un'operazione supportata in questo URI (Uniform Resource Identifier). È necessario creare una voce per ogni tipo di operazione supportata dall'URI. È possibile specificare qualsiasi attributo valido per una determinata operazione, se l'operazione lo supporta.

Questi attributi includono SupportsFiltering e SupportsFragment.

  • Crea: le operazioni di creazione sono supportate nell'URI.
    • L'attributo SupportFragment viene usato se l'operazione Create supporta il concetto.
    • L'attributo SupportFiltering non è valido per le operazioni di creazione e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Elimina: le operazioni di eliminazione sono supportate nell'URI.
    • L'attributo SupportFragment viene utilizzato se l'operazione Delete supporta il concetto.
    • L'attributo SupportFiltering non è valido per le operazioni delete e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Enumerazione: le operazioni di enumerazione sono supportate nell'URI.
    • L'attributo SupportFragment non è supportato per le operazioni enumerate e deve essere impostato su False.
    • L'attributo SupportFiltering è valido e, se il plug-in supporta il filtro, questo attributo deve essere impostato su "True".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Get: le operazioni Get sono supportate nell'URI.
    • L'attributo SupportFragment viene usato se l'operazione Get supporta il concetto.
    • L'attributo SupportFiltering non è valido per le operazioni Get e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Invoke: le operazioni di richiamo sono supportate nell'URI.
    • L'attributo SupportFragment non è supportato per le operazioni Invoke e deve essere impostato su False.
    • L'attributo SupportFiltering non è valido e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Put: le operazioni Put sono supportate nell'URI.
    • L'attributo SupportFragment viene usato se l'operazione Put supporta il concetto.
    • L'attributo SupportFiltering non è valido per le operazioni Put e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Sottoscrizione: le operazioni di sottoscrizione sono supportate nell'URI.
    • L'attributo SupportFragment non è supportato per le operazioni Subscribe e deve essere impostato su False.
    • L'attributo SupportFiltering non è valido per le operazioni Subscribe e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se sono supportate anche le operazioni della shell.

  • Shell: le operazioni della shell sono supportate nell'URI.
    • L'attributo SupportFragment non è supportato per le operazioni shell e deve essere impostato su "False".
    • L'attributo SupportFiltering non è valido per le operazioni shell e deve essere impostato su "False".

    Nota

    Questa operazione non è valida per un URI se è supportata anche un'altra operazione.

    Nota

    Se un'operazione shell è configurata per un URI, Get, Put, Create, Delete, Invoke ed Enumerate, le operazioni vengono elaborate internamente all'interno del servizio WS-Management (WinRM) per gestire le shell. Di conseguenza, il plug-in non può gestire le operazioni.

Cmdlet supportati

CertificateThumbprint <String>

Specifica l'identificazione personale del certificato del servizio.

Questo valore rappresenta la stringa di valori esadecimali a due cifre nel campo Identificazione personale del certificato. Specifica il certificato di chiave pubblica digitale (X509) di un account utente che dispone dell'autorizzazione per eseguire questa azione. I certificati vengono usati nell'autenticazione basata sui certificati client. Possono essere mappati solo agli account utente locali e non funzionano con gli account di dominio. Per ottenere un'identificazione personale del certificato, usare i Get-Item cmdlet o Get-ChildItem nell'unità di PowerShell Cert: .

Cmdlet supportati

Boolean abilitato <>

Specifica se il listener è abilitato o disabilitato. L'impostazione predefinita è True.

Cmdlet supportati

Stringa FileName (plug-in) <>

Specifica il nome file del plug-in operazioni. Tutte le variabili di ambiente inserite in questa voce verranno espanse nel contesto degli utenti quando viene ricevuta una richiesta. Poiché ogni utente potrebbe avere una versione diversa della stessa variabile di ambiente, ogni utente potrebbe avere un plug-in diverso. Questa voce non può essere vuota e deve puntare a un plug-in valido.

Cmdlet supportati

Stringa HostName <>

Specifica il nome host del computer in cui è in esecuzione il servizio WS-Management (WinRM).

Il valore deve essere un nome di dominio completo, una stringa letterale IPv4 o IPv6 oppure un carattere jolly.

Cmdlet supportati

Stringa autorità di certificazione <>

Specifica il nome dell'autorità di certificazione che ha emesso il certificato.

Cmdlet supportati

che collega e estende la funzionalità di WS-Management . L'API plug-in WSW-Management fornisce funzionalità che consentono a un utente di scrivere plug-in implementando determinate API per URI e operazioni di risorse supportate. Dopo aver configurato i plug-in per il servizio WS-Management (WinRM) o per Internet Information Services (IIS), i plug-in vengono caricati rispettivamente nell'host WS-Management o nell'host IIS. Le richieste remote vengono instradate a questi punti di ingresso plug-in per eseguire operazioni.

Cmdlet supportati

Porta <Unsigned Short Integer>

Specifica la porta TPC per cui viene creato il listener. È possibile specificare qualsiasi valore compreso tra 1 e 65535.

Cmdlet supportati

Stringa di risorsa <>

Specifica un endpoint che rappresenta un tipo distinto di operazione o valore di gestione. Un servizio espone una o più risorse e alcune risorse possono avere più di un'istanza. Una risorsa di gestione è simile a una classe WMI o a una tabella di database e un'istanza è simile a un'istanza della classe o a una riga nella tabella. Ad esempio, la classe Win32_LogicalDisk rappresenta una risorsa. Win32_LogicalDisk="C:\\" è un'istanza specifica della risorsa.

Un URI (Uniform Resource Identifier) contiene un prefisso e un percorso di una risorsa. Ad esempio:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

Cmdlet supportati

Stringa di risorsa <>

Specifica l'URI (Uniform Resource Identifier) che identifica un tipo specifico di risorsa, ad esempio un disco o un processo, in un computer.

Un URI è costituito da un prefisso e un percorso di una risorsa. Ad esempio:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

Cmdlet supportati

Stringa SDKVersion <>

Specifica la versione del plug-in WS-Management SDK. L'unico valore valido è 1.

Cmdlet supportati

Stringa oggetto <>

Specifica l'entità identificata dal certificato.

Cmdlet supportati

Stringa di trasporto <>

Specifica il trasporto da usare per inviare e ricevere richieste e risposte del protocollo WS-Management. Il valore deve essere HTTP o HTTPS.

Nota: il valore Di trasporto viene impostato durante la creazione di un listener.

Cmdlet supportati

Stringa URI <>

Identifica l'URI per il quale l'accesso è autorizzato in base al valore del parametro Sddl.

Cmdlet supportati

URLPrefix <String>

Prefisso URL in cui accettare richieste HTTP o HTTPS. Si tratta di una stringa contenente solo i caratteri , , , il carattere di sottolineatura (_) e la barra rovesciata (/). [9-0][A-Z][a-z] La stringa non deve iniziare con o terminare con una barra rovesciata (/). Ad esempio, se il nome del computer è "SampleComputer", il client WS-Management specifica http://SampleMachine/URLPrefix nell'indirizzo di destinazione.

Cmdlet supportati

Stringa valore <>

Specifica il valore di un parametro di inizializzazione, ovvero un valore specifico del plug-in utilizzato per specificare le opzioni di configurazione.

Cmdlet supportati

Stringa XMLRenderingType <>

Specifica il formato in cui XML viene passato ai plug-in tramite l'oggetto WSMAN_DATA . Di seguito sono riportati i valori validi:

  • Testo: i dati XML in ingresso sono contenuti in una struttura WSMAN_DATA_TYPE_TEXT , che rappresenta il codice XML come buffer di memoria PCWSTR .
  • XMLReader: i dati XML in ingresso sono contenuti in una struttura WSMAN_DATA_TYPE_WS_XML_READER , che rappresenta il codice XML come oggetto XmlReader , definito nel file di intestazione "WebServices.h".

Cmdlet supportati

Uso della pipeline

I cmdlet del provider accettano l'input della pipeline. È possibile usare la pipeline per semplificare l'attività inviando i dati del provider da un cmdlet a un altro cmdlet del provider. Per altre informazioni su come usare la pipeline con i cmdlet del provider, vedere i riferimenti ai cmdlet forniti in questo articolo.

Visualizzazione delle informazioni della Guida

A partire da Windows PowerShell 3.0, è possibile ottenere argomenti della Guida personalizzati per i cmdlet del provider che ne illustrano il comportamento in un'unità di file system.

Per ottenere gli argomenti della Guida personalizzati per l'unità del file system, eseguire un comando Get-Help in un'unità file system o usare il -Path parametro Get-Helpper specificare un'unità del file system.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman:

Vedi anche