New-PSWorkflowSession
Crea una sessione del flusso di lavoro.
Sintassi
Default (Impostazione predefinita)
New-PSWorkflowSession
[[-ComputerName] <String[]>]
[-Credential <Object>]
[-Name <String[]>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-ThrottleLimit <Int32>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-EnableNetworkAccess]
[<CommonParameters>]
Descrizione
Il cmdlet New-PSWorkflowSession crea una sessione gestita dall'utente (PSSession) progettata appositamente per l'esecuzione di flussi di lavoro di Windows PowerShell. Usa la configurazione della sessione Microsoft.PowerShell.Workflow, che include script, file di tipo e formattazione e opzioni necessari per i flussi di lavoro.
È possibile usare New-PSWorkflowSession o il relativo alias nwsn.
È anche possibile aggiungere parametri comuni del flusso di lavoro a questo comando. Per altre informazioni sui parametri comuni del flusso di lavoro, vedere about_WorkflowCommonParameters
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Creare una sessione del flusso di lavoro in un computer remoto
In questo esempio viene creata la sessione di WorkflowTests nel computer remoto ServerNode01.
$params = @{
ComputerName = "ServerNode01"
Name = "WorkflowTests"
SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params
Il valore del parametro SessionOption è un comando New-PSSessionOption che imposta la modalità di buffering di output nella sessione su Drop.
Esempio 2: Creare sessioni del flusso di lavoro in più computer remoti
In questo esempio vengono create sessioni del flusso di lavoro nei computer ServerNode01 e Server12. Il comando usa il parametro credenziali per l'esecuzione con le autorizzazioni dell'amministratore di dominio.
"ServerNode01", "Server12" |
New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150
Il comando usa il parametro ThrottleLimit per aumentare il limite di limitazione per comando a 150. Questo valore ha la precedenza sul limite di limitazione predefinito di 100 impostato nella configurazione di sessione Microsoft.PowerShell.Workflow.
Parametri
-ApplicationName
Specifica il segmento dell'URI di connessione corrispondente al nome dell'applicazione.
Il valore predefinito è il valore della variabile di $PSSessionApplicationName preferenza nel computer locale. Se questa variabile di preferenza non è definita, il valore predefinito è WSMAN. Questo valore è appropriato per la maggior parte degli usi. Per altre informazioni, vedere about_Preference_Variables.
Il servizio WinRM usa il nome dell'applicazione per selezionare un listener per gestire la richiesta di connessione. Il valore di questo parametro deve corrispondere al valore della proprietà URLPrefix di un listener nel computer remoto.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Authentication
Specifica il meccanismo utilizzato per autenticare le credenziali utente. I valori accettabili per questo parametro sono:
DefaultBasicCredsspDigestKerberosNegotiateNegotiateWithImplicitCredential
Il valore predefinito è Default.
L'autenticazione CredSSP è disponibile solo in Windows Vista, Windows Server 2008 e versioni successive del sistema operativo Windows.
Per ulteriori informazioni sui valori di questo parametro, consultare Enumerazione del Meccanismo di Autenticazione.
Attenzione
L'autenticazione CredSSP (Credential Security Service Provider), in cui le credenziali utente vengono passate a un computer remoto da autenticare, è progettato per i comandi che richiedono l'autenticazione su più di una risorsa, ad esempio l'accesso a una condivisione di rete remota. Questo meccanismo aumenta il rischio di sicurezza dell'operazione remota. Se il computer remoto viene compromesso, è possibile usare le credenziali passate per controllare la sessione di rete.
Proprietà dei parametri
| Tipo: | AuthenticationMechanism |
| Valore predefinito: | Default |
| Valori accettati: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-CertificateThumbprint
Specifica il certificato di chiave pubblica digitale (X509) di un account utente che dispone dell'autorizzazione per eseguire questa azione. Immettere l'impronta digitale del certificato.
I certificati vengono usati nell'autenticazione basata su certificati client. Possono essere mappati solo agli account utente locali; non funzionano con gli account di dominio.
Per ottenere un'identificazione personale del certificato, usare il cmdlet Get-Item o il cmdlet Get-ChildItem nell'unità Cert: di Windows PowerShell.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ComputerName
Crea una connessione permanente (PSSession) al computer specificato. Se si immettono più nomi di computer, Windows PowerShell crea più PSSessions, uno per ogni computer. Il valore predefinito è il computer locale.
Digitare il nome NetBIOS, un indirizzo IP o un nome di dominio completo di uno o più computer remoti. Per specificare il computer locale, digitare il nome del computer, localhosto un punto (.). Quando il computer si trova in un dominio diverso dall'utente, è necessario il nome di dominio completo.
È anche possibile inviare tramite pipe un nome computer tra virgolette a New-PSWorkflowSession.
Per usare un indirizzo IP nel valore del parametro ComputerName, il comando deve includere il parametro Credential. Inoltre, il computer deve essere configurato per il trasporto HTTPS o l'indirizzo IP del computer remoto deve essere incluso nell'elenco TrustedHosts WinRM nel computer locale. Per istruzioni sull'aggiunta di un nome computer all'elenco TrustedHosts, vedere "Come aggiungere un computer all'elenco host attendibile" in about_Remote_Troubleshooting.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | Local computer |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | CN |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Credential
Specifica un account utente autorizzato a eseguire questa azione. Il valore predefinito è l'utente corrente. Digitare un nome utente, ad esempio User01, Domain01\User01o User@Domain.comoppure immettere un oggetto PSCredential, ad esempio quello restituito dal cmdlet Get-Credential.
Quando si digita un nome utente, questo cmdlet richiede una password.
Proprietà dei parametri
| Tipo: | Object |
| Valore predefinito: | Current user |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-EnableNetworkAccess
Indica che questo cmdlet aggiunge un token di sicurezza interattivo alle sessioni di loopback. Il token interattivo consente di eseguire comandi nella sessione di loopback che recuperano dati da altri computer. Ad esempio, è possibile eseguire un comando nella sessione che copia i file XML da un computer remoto al computer locale.
Una sessione di loopback è una sessione PSSession che ha origine e termina nello stesso computer. Per creare una sessione di loopback, non specificare il parametro NomeComputer o impostarne il valore su dot (.), localhosto il nome del computer locale.
Per impostazione predefinita, le sessioni di loopback vengono create con un token di rete, che potrebbe non fornire autorizzazioni sufficienti per l'autenticazione nei computer remoti.
Il parametro EnableNetworkAccess
È anche possibile consentire l'accesso remoto in una sessione di loopback usando il valore
Per proteggere il computer da accessi dannosi, le sessioni di loopback disconnesse con token interattivi, quelle create usando il parametro EnableNetworkAccess, possono essere riconnesse solo dal computer in cui è stata creata la sessione. Le sessioni disconnesse che usano l'autenticazione CredSSP possono essere riconnesse da altri computer. Per altre informazioni, vedere il cmdlet Disconnect-PSSession.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Name
Specifica un nome descrittivo per la sessione del flusso di lavoro. È possibile usare il nome con altri cmdlet, ad esempio Get-PSSession e Enter-PSSession. Il nome non deve essere univoco per il computer o la sessione corrente.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | Session# |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Port
Specifica la porta di rete nel computer remoto utilizzato per questa connessione. Per connettersi a un computer remoto, il computer remoto deve essere in ascolto sulla porta usata dalla connessione. Le porte predefinite sono 5985 (porta WinRM per HTTP) e 5986 (porta WinRM per HTTPS).
Prima di usare un'altra porta, è necessario configurare il listener WinRM nel computer remoto per l'ascolto su tale porta. Usare i comandi seguenti per configurare il listener:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Non usare il parametro porta a meno che non sia necessario. L'impostazione della porta nel comando si applica a tutti i computer o le sessioni in cui viene eseguito il comando. Un'impostazione di porta alternativa potrebbe impedire l'esecuzione del comando in tutti i computer.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-SessionOption
Specifica le opzioni avanzate per la sessione. Immettere un oggetto SessionOption, ad esempio quello creato usando il cmdlet New-PSSessionOption.
I valori predefiniti per le opzioni sono determinati dal valore della variabile di preferenza $PSSessionOption, se impostata. In caso contrario, i valori predefiniti vengono stabiliti dalle opzioni impostate nella configurazione della sessione.
I valori delle opzioni di sessione hanno la precedenza sui valori predefiniti per le sessioni impostate nella $PSSessionOption variabile di preferenza e nella configurazione della sessione. Tuttavia, non hanno la precedenza sui valori massimi, sulle quote o sui limiti impostati nella configurazione della sessione. Per altre informazioni sulle configurazioni di sessione, vedere about_Session_Configurations.
Per una descrizione delle opzioni di sessione, inclusi i valori predefiniti, vedere New-PSSessionOption.
Per informazioni sulla $PSSessionOption variabile di preferenza, vedere about_Preference_Variables.
Proprietà dei parametri
| Tipo: | PSSessionOption |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ThrottleLimit
Specifica il numero massimo di connessioni simultanee che è possibile stabilire per eseguire questo comando.
Se si omette questo parametro o si immette un valore pari a 0 (zero), viene usato il valore predefinito per il configurazione di sessione Microsoft.PowerShellWorkflow, 100.
Il limite di limitazione si applica solo al comando corrente, non alla sessione o al computer.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | 100 |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-UseSSL
Indica che questo cmdlet usa il protocollo SSL (Secure Sockets Layer) per stabilire una connessione al computer remoto. Per impostazione predefinita, SSL non viene usato.
WS-Management crittografa tutto il contenuto di Windows PowerShell trasmesso in rete. Il parametro UseSSL è una protezione aggiuntiva che invia i dati attraverso una connessione HTTPS anziché una connessione HTTP.
Se si specifica questo parametro, ma SSL non è disponibile sulla porta usata per il comando, il comando ha esito negativo.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
PSSession
È possibile inviare tramite pipe una sessione a questo cmdlet.
String
È possibile inviare tramite pipe un nome computer a questo cmdlet.
Output
PSSession
Note
Windows PowerShell include gli alias seguenti per New-PSWorkflowSession:
nwsn
Un comando New-PSWorkflowSession equivale al comando seguente:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow