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
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 Connect-WSMan. Una volta stabilita una connessione a un computer remoto, il nome del computer remoto viene visualizzato nel provider.
WSMan:\<Remote_Computer_Name>
Spostamento nell'unità WSMan:
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:
Passaggio a un percorso di archiviazione di sistema remoto
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 "SERVER01" 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
I <> plug-in WS-Management plug-in sono librerie di collegamento dinamico native (DLL)
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-Help per specificare un'unità del file system.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman: