Поделиться через


Connect-WSMan

Подключается к службе удаленного управления Windows на удаленном компьютере.

Синтаксис

Connect-WSMan
       [-ApplicationName <String>]
       [[-ComputerName] <String>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-UseSSL]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]
Connect-WSMan
       [-ConnectionURI <Uri>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]

Описание

Этот командлет доступен только на платформе Windows.

Командлет Connect-WSMan подключается к службе WinRM на удаленном компьютере и устанавливает постоянное подключение к удаленному компьютеру. Этот командлет можно использовать в контексте поставщика WSMan для подключения к службе WinRM на удаленном компьютере. Однако его также можно использовать для подключения к службе удаленного управления Windows на удаленном компьютере перед изменением поставщика WSMan. Удаленный компьютер отображается в корневом каталоге поставщика WSMan.

Если клиентский и серверный компьютеры находятся в разных доменах или рабочих группах, необходимы явные учетные данные.

Сведения о том, как отключиться от службы WinRM на удаленном компьютере, см. в командлете Disconnect-WSMan .

Примеры

Пример 1. Подключение к удаленному компьютеру

PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Эта команда создает подключение к удаленному компьютеру server01.

Командлет Connect-WSMan обычно используется в контексте поставщика WSMan для подключения к удаленному компьютеру, в данном случае к компьютеру server01. Однако этот командлет можно использовать для установки соединения с удаленными компьютерами перед изменением поставщика WSMan. Эти подключения отображаются в списке ComputerName .

Пример 2. Подключение к удаленному компьютеру с помощью учетных данных администратора

PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Эта команда создает подключение к удаленной системе server01 с использованием учетных данных учетной записи администратора.

Первая команда использует командлет Get-Credential для получения учетных данных администратора, а затем сохраняет их в переменной $cred . Get-Credential Запрашивает пароль имени пользователя и пароля в диалоговом окне или в командной строке в зависимости от параметров системного реестра.

Вторая команда использует параметр Credential для передачи учетных данных, хранящихся в $cred, в Connect-WSMan. Connect-WSMan затем подключается к удаленной системе server01, используя учетные данные администратора.

Пример 3. Подключение к удаленному компьютеру через указанный порт

PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Эта команда создает подключение к удаленному компьютеру server01 через порт 80.

Пример 4. Подключение к удаленному компьютеру с помощью параметров подключения

PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd wsman:
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

В этом примере создается подключение к удаленному компьютеру server01 с помощью параметров подключения, определенных в команде New-WSManSessionOption .

Первая команда использует New-WSManSessionOption для сохранения набора параметров подключения в переменной $a . В этом случае для параметров сеанса задано время ожидания подключения в размере 30 секунд (30 000 миллисекунд).

Вторая команда использует параметр SessionOption для передачи учетных данных, хранящихся в переменной $aConnect-WSMan, в . Connect-WSMan Затем подключается к удаленному компьютеру server01 с помощью указанных параметров сеанса.

Параметры

-ApplicationName

Указывает имя приложения в соединении. Значение по умолчанию параметра ApplicationName — WSMAN. Полный идентификатор для удаленной конечной точки имеет следующий формат:

<Transport>://<Server>:<Port>/<ApplicationName>

Пример: http://server01:8080/WSMAN

Службы IIS, где размещен сеанс, перенаправляют запросы с этой конечной точки в заданное приложение. Значение по умолчанию (WSMAN) подходит для большинства задач. Он предназначен для использования в ситуации, когда много компьютеров устанавливают удаленное подключение к одному компьютеру, на котором выполняется Windows PowerShell. В данном случае для повышения эффективности в службах IIS размещены веб-службы для управления (WS-Management).

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

Задает способ проверки подлинности, используемый на сервере. Допустимые значения для этого параметра:

  • Basic— Базовый — это схема, в которой имя пользователя и пароль отправляются на сервер или прокси-сервер в виде ясного текста.
  • Default — Используйте метод проверки подлинности, реализованный протоколом WS-Management. Это значение по умолчанию.
  • Digest — Дайджест — это схема запроса и ответа, которая использует указанную сервером строку данных для запроса.
  • Kerberos — Клиентский компьютер и сервер проходят взаимную проверку подлинности с помощью сертификатов Kerberos.
  • Negotiate — Согласование — это схема ответа на запрос, которая согласовывает с сервером или прокси-сервером, чтобы определить схему, используемую для проверки подлинности. Например, значение этого параметра позволяет согласованию определить, используется ли протокол Kerberos или NTLM.
  • CredSSP — Используйте проверку подлинности поставщика поддержки безопасности учетных данных (CredSSP), которая позволяет пользователю делегировать учетные данные. Этот параметр предназначен для команд, которые выполняются на одном удаленном компьютере, но собирают данные или выполняют дополнительные команды на других удаленных компьютерах.

Внимание!

CredSSP делегирует учетные данные пользователя с локального компьютера на удаленный компьютер. Это повышает угрозу безопасности при работе в удаленном режиме. Если удаленный компьютер скомпрометирован, то передаваемые на него учетные данные могут быть использованы для управления сетевым сеансом.

Type:AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Задает цифровой сертификат с открытым ключом (X509) учетной записи пользователя, который располагает разрешением для выполнения этого действия. Введите отпечаток сертификата.

Сертификаты используются при проверке подлинности на основе сертификата клиента. Они могут сопоставляться только с учетными записями локальных пользователей и не работают с учетными записями доменов.

Чтобы получить отпечаток сертификата, используйте Get-Item команду или Get-ChildItem на диске Windows PowerShell Cert: .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Задает имя компьютера, для которого требуется выполнить операцию управления. Значение может быть полным доменным именем, NetBIOS-именем или IP-адресом. Используйте имя локального компьютера, localhost или точку (.), чтобы указать локальный компьютер. Локальный компьютер используется по умолчанию. Если удаленный компьютер находится в другом домене по отношению к пользователю, необходимо использовать полное имя домена. Можно передать значение этого параметра в командлет.

Type:String
Aliases:cn
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionURI

Указывает конечную точку соединения. Строка имеет следующий формат:

<Transport>://<Server>:<Port>/<ApplicationName>

Следующая строка представляет собой правильно отформатированное значение для этого параметра:

http://Server01:8080/WSMAN

Значение URI должно быть указано полностью.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь. Введите имя пользователя, например User01, Domain01\User01или User@Domain.com. Или введите объект PSCredential , например объект, возвращенный командлетом Get-Credential . При вводе имени пользователя этот командлет запрашивает пароль.

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OptionSet

Указывает набор параметров в службе, чтобы изменить или уточнить характер запроса. Это похоже на ключи, используемые в оболочках командной строки, так как они зависят от конкретной службы. Можно указать любое количество параметров.

В следующем примере демонстрируется синтаксис, который передает значения 1, 2 и 3 для параметров a, b и c:

-OptionSet @{a=1;b=2;c=3}

Type:Hashtable
Aliases:os
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Port

Указывает порт, используемый при подключении клиента к службе удаленного управления Windows. Если транспортом является HTTP, порт по умолчанию равен 80. Если транспортом является HTTPS, порт по умолчанию равен 443.

При использовании HTTPS в качестве транспорта значение параметра ComputerName должно соответствовать общему имени сертификата сервера (CN). Но если параметр SkipCNCheck указан в составе параметра SessionOption, то общее имя сертификата сервера может отличаться от имени узла сервера. Параметр SkipCNCheck следует использовать только для доверенных компьютеров.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

Определяет расширенные параметры для сеанса WS-Management. Введите объект SessionOption , который вы создаете с помощью командлета New-WSManSessionOption . Чтобы получить дополнительные сведения о доступных параметрах, введите Get-Help New-WSManSessionOption.

Type:SessionOption
Aliases:so
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Указывает, что для подключения к удаленному компьютеру используется протокол SSL. По умолчанию SSL не используется.

WS-Management шифрует все содержимое Windows PowerShell, передаваемое по сети. Параметр UseSSL позволяет указать дополнительную защиту HTTPS вместо HTTP. Если протокол SSL недоступен в порту, используемом для установки соединения, и вы указываете этот параметр, команда завершается с ошибкой.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

None

Вы не можете передавать объекты в этот командлет.

Выходные данные

None

Этот командлет не возвращает выходные данные.

Примечания

Вы можете выполнять команды управления или запрашивать данные управления на удаленном компьютере без создания сеанса WS-Management. Это можно сделать с помощью параметров ComputerName для Invoke-WSManAction и Get-WSManInstance. При использовании параметра ComputerName Windows PowerShell создает временное подключение, которое используется для одной команды. После выполнения команды соединение закрывается.