Metodo WSMan.CreateSession

Crea un oggetto Session che può quindi essere utilizzato per le operazioni di rete successive.

Sintassi

WSMan.CreateSession( _
  [ ByVal connection ], _
  [ ByVal flags ], _
  [ ByVal connectionOptions ] _
)

Parametri

connessione [in, facoltativo]

Protocollo e servizio a cui connettersi, inclusi IPv4 o IPv6. Il formato delle informazioni di connessione è il seguente: <Suffisso>indirizzo><trasporto><. Per esempi, vedere Osservazioni. Se non vengono fornite informazioni di connessione, viene utilizzato il computer locale.

flag [in, facoltativo]

Flag di sessione che specificano il metodo di autenticazione, ad esempio l'autenticazione Negotiate o Digest, per la connessione a un computer remoto. Questi flag specificano anche altre informazioni di connessione di sessione, ad esempio la codifica o la crittografia. Questo parametro deve contenere uno o più flag in __WSManSessionFlags per una connessione remota. Per altre informazioni, vedere Costanti di sessione. Non sono necessarie impostazioni di flag per una connessione a WinRM nel computer locale. Il valore predefinito è WSManFlagUseNegotiate.

Per altre informazioni, vedere Autenticazione per connessioni remote e il parametro connectionOptions .

connectionOptions [in, facoltativo]

Puntatore a un oggetto ConnectionOptions che contiene un nome utente e una password. Il valore predefinito è NULL.

Valore restituito

Oggetto Session che può quindi essere utilizzato per eseguire operazioni WinRM locali o remote.

Commenti

Il metodo CreateSession inizializza l'oggetto Session raccogliendo parametri, ad esempio flag, credenziali e una stringa di connessione per il parametro di connessione . CreateSession non si connette effettivamente al computer locale o remoto. Se non è possibile stabilire la connessione, si verifica un errore nella prima operazione di sessione , ad esempio get o enumerata, dopo la chiamata a CreateSession. Questo comportamento è diverso da una connessione WMI a uno spazio dei nomi in un computer remoto. Per altre informazioni, vedere Gestione remota Windows e WMI.

Per chiamare questo metodo viene usato l'esempio di codice VBScript seguente.

Set session = _
    wsman.CreateSession("<Transport><Address><Suffix>")

Gli esempi seguenti illustrano i diversi formati usati per specificare le informazioni di connessione nel parametro di connessione (quando si crea una sessione HTTPS, il < campo Indirizzo> deve corrispondere al nome del certificato del computer server; in caso contrario, si verifica un errore):

  • "https://service"

    Usa HTTPS per connettersi al percorso predefinito del servizio Web.

  • "https://service.corp.com/websvcs/wsman"

    Usa HTTPS per connettersi al percorso specifico del servizio Web.

  • "https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]"

    Usa HTTPS e IPv6 con la porta predefinita.

  • "https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]:9999/wsman"

    Usa HTTPS e IPv6 con la porta specificata.

Esempio

Nell'esempio di codice VBScript seguente viene creata una sessione nel computer locale.

 Set NewSession = Wsman.CreateSession   
   

Nell'esempio di codice VBScript seguente viene creata una sessione in un computer remoto identificato da un indirizzo IP. Lo script fornisce un nome utente e una password per un account. I flag WSManFlagCredUserNamePassword e WSManFlagUseBasic vengono combinati per indicare che l'account è un account locale nel computer remoto. Se la creazione della sessione ha esito negativo, lo script termina. Lo script usa i metodi che restituiscono la costante, ad esempio WSMan.SessionFlagUseBasic.

Per eseguire questo script, tenere presente che è necessario configurare le impostazioni di configurazione predefinite per client e server per consentire il traffico non crittografato e l'autenticazione di base (AllowUnencrypted impostato su True e Basic impostato su True). Per altre informazioni, vedere Installazione e configurazione per Gestione remota Windows.

iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyUserName"
Options.Password = "MyPassword"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

Nell'esempio di codice VBScript seguente l'account è un account di dominio e viene usata l'autenticazione Negotiate. Con l'autenticazione Negotiate è necessario specificare il nome utente come computername\username o ipaddress\username.

iFlags = WSMan.SessionFlagUseNegotiate Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyComputer\MyUserName"
Options.Password = "MyPassword"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Intestazione
WSManDisp.h
IDL
WSManDisp.idl
Libreria
WSManDisp.tlb
DLL
WSMAuto.dll

Vedi anche

WSMan

Connectionoptions

sessione

Autenticazione per connessioni remote

Installazione e configurazione per Gestione remota Windows