Udostępnij przez


WSMan.CreateSession, metoda

Tworzy obiekt Sesja , który może być następnie używany do kolejnych operacji sieciowych.

Składnia

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

Parametry

połączenie [in, opcjonalnie]

Protokół i usługa do nawiązania połączenia, w tym IPv4 lub IPv6. Format informacji o połączeniu jest następujący: <Sufiks>adresu><transportu><. Przykłady można znaleźć w uwagach. Jeśli nie podano żadnych informacji o połączeniu, używany jest komputer lokalny.

flagi [in, opcjonalnie]

Flagi sesji, które określają metodę uwierzytelniania, taką jak uwierzytelnianie negocjowane lub uwierzytelnianie szyfrowane, na potrzeby nawiązywania połączenia z komputerem zdalnym. Te flagi określają również inne informacje o połączeniu sesji, takie jak kodowanie lub szyfrowanie. Ten parametr musi zawierać co najmniej jedną flagę w __WSManSessionFlags dla połączenia zdalnego. Aby uzyskać więcej informacji, zapoznaj się z Stałymi sesji. W przypadku połączenia z usługą WinRM na komputerze lokalnym nie są wymagane żadne ustawienia flagi. Wartość domyślna to WSManFlagUseNegotiate.

Aby uzyskać więcej informacji, zobacz Authentication for Remote Connections and the connectionOptions parameter ( Uwierzytelnianie połączeń zdalnych i parametr connectionOptions ).

connectionOptions [in, opcjonalnie]

Wskaźnik do obiektu ConnectionOptions , który zawiera nazwę użytkownika i hasło. Wartość domyślna to NULL.

Wartość zwracana

Obiekt sesji , który może następnie służyć do wykonywania lokalnych lub zdalnych operacji WinRM.

Uwagi

Metoda CreateSession inicjuje obiekt Session , zbierając parametry, takie jak flagi, poświadczenia i parametry połączenia dla parametru połączenia . Metoda CreateSession nie nawiązuje połączenia z komputerem lokalnym ani zdalnym. Jeśli nie można nawiązać połączenia, po wywołaniu metody CreateSession wystąpi błąd podczas pierwszej operacji sesji, takiej jak Get lub Enumerate. To zachowanie różni się od połączenia WMI z przestrzenią nazw na komputerze zdalnym. Aby uzyskać więcej informacji, zobacz Windows Remote Management and WMI.

Poniższy przykład kodu VBScript służy do wywoływania tej metody.

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

W poniższych przykładach pokazano różne formaty używane do określania informacji o połączeniu w parametrze połączenia (podczas tworzenia sesji < HTTPS pole Adres> musi być zgodne z nazwą certyfikatu komputera serwera, w przeciwnym razie występuje błąd):

  • "https://service"

    Używa protokołu HTTPS do nawiązywania połączenia z domyślną lokalizacją usługi internetowej.

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

    Używa protokołu HTTPS do nawiązywania połączenia z określoną lokalizacją usługi internetowej.

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

    Używa protokołów HTTPS i IPv6 z portem domyślnym.

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

    Używa protokołów HTTPS i IPv6 z danym portem.

Przykłady

Poniższy przykład kodu VBScript tworzy sesję na komputerze lokalnym.

 Set NewSession = Wsman.CreateSession   
   

Poniższy przykład kodu VBScript tworzy sesję na komputerze zdalnym, który jest identyfikowany przez adres IP. Skrypt dostarcza nazwę użytkownika i hasło dla konta. Flagi WSManFlagCredUserNamePassword i WSManFlagUseBasic są łączone w celu wskazania, że konto jest kontem lokalnym na komputerze zdalnym. Jeśli tworzenie sesji zakończy się niepowodzeniem, skrypt zakończy działanie. Skrypt używa metod, które zwracają stałą, taką jak WSMan.SessionFlagUseBasic.

Aby uruchomić ten skrypt, należy pamiętać, że należy skonfigurować domyślne ustawienia konfiguracji zarówno dla klienta, jak i serwera, aby zezwolić na niezaszyfrowany ruch i uwierzytelnianie podstawowe (AllowUnencrypted ustawiono wartość True i Basic na wartość True). Aby uzyskać więcej informacji, zobacz Instalacja i konfiguracja usługi zdalnego zarządzania systemem Windows.

iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

W poniższym przykładzie kodu VBScript konto jest kontem domeny, a uwierzytelnianie negotiate jest używane. W przypadku uwierzytelniania negocjowania należy określić nazwę użytkownika jako computername\username lub ipaddress\username.

iFlags = WSMan.SessionFlagUseNegotiate Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyComputer\<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows Vista
Minimalny obsługiwany serwer
Windows Server 2008
Nagłówek
WSManDisp.h
IDL
WSManDisp.idl
Biblioteka
WSManDisp.tlb
DLL
WSMAuto.dll

Zobacz także

WSMan

ConnectionOptions

Sesja

Uwierzytelnianie dla połączeń zdalnych

Instalacja i konfiguracja zdalnego zarządzania systemem Windows