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


Enter-PSSession

Запускает интерактивный сеанс с удаленным компьютером.

Синтаксис

Enter-PSSession
     [-ComputerName] <String>
     [-EnableNetworkAccess]
     [[-Credential] <PSCredential>]
     [-ConfigurationName <String>]
     [-Port <Int32>]
     [-UseSSL]
     [-ApplicationName <String>]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-HostName] <String>
     [-Options <Hashtable>]
     [-Port <Int32>]
     [-UserName <String>]
     [-KeyFilePath <String>]
     [-Subsystem <String>]
     [-ConnectingTimeout <Int32>]
     [-SSHTransport]
     [<CommonParameters>]
Enter-PSSession
     [[-Session] <PSSession>]
     [<CommonParameters>]
Enter-PSSession
     [[-ConnectionUri] <Uri>]
     [-EnableNetworkAccess]
     [[-Credential] <PSCredential>]
     [-ConfigurationName <String>]
     [-AllowRedirection]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-InstanceId <Guid>]
     [<CommonParameters>]
Enter-PSSession
     [[-Id] <Int32>]
     [<CommonParameters>]
Enter-PSSession
     [-Name <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMId] <Guid>
     [-Credential] <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMName] <String>
     [-Credential] <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-ContainerId] <String>
     [-ConfigurationName <String>]
     [-RunAsAdministrator]
     [<CommonParameters>]

Описание

Командлет Enter-PSSession запускает интерактивный сеанс с одним удаленным компьютером. Во время сеанса команды, которые вы вводите на удаленном компьютере, так же, как если бы вы вводили непосредственно на удаленном компьютере. В любой момент времени может использоваться только один интерактивный сеанс.

Как правило, имя удаленного компьютера указывается с помощью параметра ComputerName. Однако можно также использовать сеанс, создаваемый с помощью командлета New-PSSession для интерактивного сеанса. Однако для отключения или повторного подключения к интерактивному сеансу нельзя использовать Disconnect-PSSessionConnect-PSSessionкомандлеты или Receive-PSSession командлеты.

Начиная с PowerShell 6.0, вы можете использовать Secure Shell (SSH) для установления подключения к удаленному компьютеру. Необходимо иметь SSH на локальном компьютере, а удаленный компьютер должен быть настроен с конечной точкой PowerShell SSH. Преимущество удаленного сеанса PowerShell на основе SSH заключается в том, что он работает на нескольких платформах (Windows, Linux, macOS). Для удаленного взаимодействия на основе SSH используется параметр HostName , чтобы указать удаленный компьютер и соответствующие сведения о подключении. Дополнительные сведения о настройке удаленного взаимодействия PowerShell SSH см. в статье о удаленном взаимодействии PowerShell по протоколу SSH.

Чтобы завершить интерактивный сеанс и отключиться от удаленного компьютера, используйте Exit-PSSession командлет или введите exit.

Внимание

Enter-PSSession предназначен для замены текущего интерактивного сеанса новым интерактивным удаленным сеансом. Не следует вызывать его из функции или скрипта или передавать его в исполняемый pwsh файл в качестве команды.

Примеры

Пример 1. Запуск интерактивного сеанса

PS> Enter-PSSession
[localhost]: PS>

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

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

Пример 2. Работа с интерактивным сеансом

Первая команда использует Enter-PSSession командлет для запуска интерактивного сеанса с сервером Server01, удаленным компьютером. При запуске сеанса командная строка изменяет имя компьютера.

Вторая команда получает процесс PowerShell и перенаправляет выходные данные в Process.txt файл. Команда отправляется на удаленный компьютер, а файл сохраняется на удаленном компьютере.

Третья команда использует ключевое слово Exit для завершения интерактивного сеанса и закрытия соединения. Четвертая команда подтверждает, что файл Process.txt находится на удаленном компьютере. Команда Get-ChildItem ("dir") на локальном компьютере не может найти файл.

PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process PowerShell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<<  c:\ps-test\Process.txt

Эта команда демонстрирует работу в интерактивном сеансе с удаленным компьютером.

Пример 3. Использование параметра сеанса

PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>

Эти команды используют параметр сеанса Enter-PSSession для запуска интерактивного сеанса в существующем сеансе PowerShell (PSSession).

Пример 4. Запуск интерактивного сеанса и указание параметров порта и учетных данных

PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>

Эта команда запускает интерактивный сеанс на компьютере Server01. Он использует параметр Port для указания порта и параметра Credential , чтобы указать учетную запись пользователя, имеющего разрешение на подключение к удаленному компьютеру.

Пример 5. Остановка интерактивного сеанса

PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>

В этом примере показано, как запускать и останавливать интерактивный сеанс. Первая команда использует Enter-PSSession командлет для запуска интерактивного сеанса с компьютером Server01.

Вторая команда использует Exit-PSSession командлет для завершения сеанса. Вы также можете использовать ключевое слово Exit для завершения интерактивного сеанса. Exit-PSSession и Выход имеют тот же эффект.

Пример 6. Запуск интерактивного сеанса с помощью SSH

PS> Enter-PSSession -HostName UserA@LinuxServer01

В этом примере показано, как запустить интерактивный сеанс с помощью Secure Shell (SSH). Если SSH настроен на удаленном компьютере для использования паролей, вам будет предложено ввести пароль. В противном случае необходимо использовать проверку подлинности пользователя на основе ключей.

Пример 7. Запуск интерактивного сеанса с помощью SSH с помощью порта и ключа проверки подлинности пользователя

PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath c:\sshkeys\userAKey_rsa

В этом примере показано, как запустить интерактивный сеанс с помощью SSH. Имя пользователя и номер порта SSH указываются как части значения параметра HostName . Параметр KeyFilePath указывает расположение ключа RSA, используемого для проверки подлинности пользователя на удаленном компьютере.

Пример 8. Запуск интерактивного сеанса с помощью параметров SSH

$options = @{
    Port=22
    User = 'UserA'
    Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath c:\sshkeys\userAKey_rsa -Options $options

В этом примере показано, как запустить интерактивный сеанс с помощью SSH. Параметр Options принимает хэш-список значений, передаваемых в качестве параметров базовой ssh команде, установленной подключением к удаленной системе.

Параметры

-AllowRedirection

Разрешает перенаправление данного соединения на альтернативный URI. По умолчанию перенаправление запрещено.

При использовании параметра ConnectionURI удаленный компьютер может вернуть инструкцию для перенаправления на другой URI. По умолчанию PowerShell не перенаправляет подключения, но этот параметр можно использовать для перенаправления подключения.

Можно также ограничить количество перенаправлений соединения, изменив значение параметра сеанса MaximumConnectionRedirectionCount. Используйте параметр MaximumRedirection командлета New-PSSessionOption или задайте свойство MaximumConnectionRedirectionCount переменной $PSSessionOption предпочтения. Значение по умолчанию равно 5.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ApplicationName

Определяет сегмент имени приложения в URI соединения. Используйте этот параметр, чтобы указать имя приложения, если параметр ConnectionURI не используется в команде.

Значение по умолчанию — это значение переменной $PSSessionApplicationName предпочтения на локальном компьютере. Если эта переменная предпочтения не определена, значение по умолчанию — WSMAN. Это значение подходит для большинства случаев Дополнительные сведения см. в about_Preference_Variables.

Служба WinRM использует имя приложения для выбора прослушивателя для обслуживания запроса на подключение. Значение этого параметра должно совпадать со значением свойства URLPrefix прослушивателя на удаленном компьютере.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Authentication

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

  • По умолчанию.
  • Базовая
  • Credssp
  • Дайджест
  • Kerberos
  • Согласование
  • NegotiateWithImplicitCredential

Значение по умолчанию ― Default.

Проверка подлинности CredSSP доступна только в Windows Vista, Windows Server 2008 и более поздних версиях операционной системы Windows.

Дополнительные сведения о значениях этого параметра см. в разделе AuthenticationMechanism Enum.

Внимание

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

Тип:AuthenticationMechanism
Допустимые значения:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CertificateThumbprint

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

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

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ComputerName

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

Введите имя NetBIOS, IP-адрес или полное доменное имя компьютера. Вы также можете передать имя Enter-PSSessionкомпьютера в .

Чтобы использовать IP-адрес в значении параметра ComputerName , команда должна включать параметр Credential . Кроме того, компьютер должен быть настроен для транспорта HTTPS или IP-адрес удаленного компьютера должен быть включен в список TrustedHosts службы WinRM на локальном компьютере. Инструкции по добавлению имени компьютера в список TrustedHosts см. в разделе "Добавление компьютера в список доверенных узлов" в about_Remote_Troubleshooting.

Примечание.

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

Тип:String
Aliases:Cn
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-ConfigurationName

Указывает конфигурацию сеанса, используемую для интерактивного сеанса.

Введите имя конфигурации или полное имя ресурса (URI) для конфигурации сеанса. Если указать только имя конфигурации, предопределен следующий универсальный код ресурса (URI) схемы: http://schemas.microsoft.com/powershell

При использовании с SSH это указывает подсистему, используемую в целевом объекте, как определено в sshd_config. Значение по умолчанию для SSH — это подсистема powershell .

Конфигурация сеанса для сеанса размещается на удаленном компьютере. Если указанная конфигурация сеанса не существует на удаленном компьютере, команда завершается ошибкой.

Значение по умолчанию — это значение переменной $PSSessionConfigurationName предпочтения на локальном компьютере. Если эта переменная предпочтения не задана, по умолчанию используется Microsoft.PowerShell. Дополнительные сведения см. в about_Preference_Variables.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-ConnectingTimeout

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

Этот параметр появился в PowerShell 7.2

Тип:Int32
Position:Named
Default value:unlimited
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ConnectionUri

Задает универсальный код ресурса (URI), определяющий конечную точку подключения для сеанса. Значение URI должно быть указано полностью. Строка имеет следующий формат:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

Значение по умолчанию определяется следующим образом.

http://localhost:5985/WSMAN

Если не указать универсальный код ресурса (URI) ConnectionURI, можно использовать параметры UseSSL, ComputerName, Port и ApplicationName, чтобы указать значения ConnectionURI.

Допустимые значения для сегмента транспорта URI — HTTP и HTTPS. Если указать URI подключения с сегментом транспорта, но не указать порт, сеанс создается с помощью портов стандартов: 80 для HTTP и 443 для HTTPS. Чтобы использовать порты по умолчанию для удаленного взаимодействия PowerShell, укажите порт 5985 для HTTP или 5986 для HTTPS.

Если целевой компьютер перенаправляет подключение к другому URI, PowerShell запрещает перенаправление, если в команде не используется параметр AllowRedirection .

Тип:Uri
Aliases:URI, CU
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-ContainerId

Указывает идентификатор контейнера.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Credential

Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный командлетомGet-Credential. Если ввести имя пользователя, вам будет предложено ввести пароль.

Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.

Примечание.

Дополнительные сведения о защите данных SecureString см. в разделе "Как безопасна Защита SecureString?".

Тип:PSCredential
Position:1
Default value:Current user
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-EnableNetworkAccess

Указывает, что этот командлет добавляет интерактивный маркер безопасности в сеансы обратного цикла. Интерактивный маркер позволяет выполнять в петлевом сеансе команды, которые получают данные с других компьютеров. Например, можно выполнить команду в сеансе, который копирует XML-файлы с удаленного компьютера на локальный.

Сеанс обратного цикла — это сеанс PSSession , который возникает и заканчивается на том же компьютере. Чтобы создать сеанс обратного цикла, опустите параметр ComputerName или задайте для нее значение. (dot), localhost или имя локального компьютера.

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

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

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

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HostName

Указывает имя компьютера для подключения на основе Secure Shell (SSH). Это аналогично параметру ComputerName , за исключением того, что подключение к удаленному компьютеру выполняется с помощью SSH, а не Windows WinRM. Этот параметр поддерживает указание имени пользователя и (или) порта в составе значения параметра имени узла с помощью формы user@hostname:port. Имя пользователя и (или) порт, указанный как часть имени узла, имеет приоритет над -UserName и -Port параметрами, если указано. Это позволяет передавать несколько имен компьютеров в этот параметр, где некоторые имеют определенные имена пользователей и (или) порты, а другие используют имя пользователя и (или) порт из -UserName и -Port параметров.

Этот параметр появился в PowerShell 6.0.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Id

Указывает идентификатор существующего сеанса. Enter-PSSession использует указанный сеанс для интерактивного сеанса.

Чтобы найти идентификатор сеанса, используйте Get-PSSession командлет.

Тип:Int32
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-InstanceId

Указывает идентификатор экземпляра существующего сеанса. Enter-PSSession использует указанный сеанс для интерактивного сеанса.

Значение идентификатора экземпляра представляет собой GUID. Чтобы найти идентификатор экземпляра сеанса, используйте Get-PSSession командлет. Можно также использовать параметры сеанса, имени или идентификатора, чтобы указать существующий сеанс. Также можно использовать параметр ComputerName для запуска временного сеанса.

Тип:Guid
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-KeyFilePath

Указывает путь к файлу ключа, используемый Secure Shell (SSH) для проверки подлинности пользователя на удаленном компьютере.

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

Этот параметр появился в PowerShell 6.0.

Тип:String
Aliases:IdentityFilePath
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Name

Указывает понятное имя существующего сеанса. Enter-PSSession использует указанный сеанс для интерактивного сеанса.

Если указанное имя соответствует сразу нескольким сеансам, команда завершается ошибкой. Для указания существующего сеанса, экземпляра или идентификатора можно также использовать параметры сеанса, экземпляра или идентификатора. Также можно использовать параметр ComputerName для запуска временного сеанса.

Чтобы установить понятное имя сеанса, используйте параметр Name командлета New-PSSession .

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Options

Указывает хэш-список параметров SSH, используемых при подключении к удаленному сеансу на основе SSH. Возможные параметры — это любые значения, поддерживаемые версией команды SSH на основе Unix.

Все значения, явно переданные параметрами, имеют приоритет над значениями, переданными в хэш-таблицы Options . Например, при использовании параметра Port переопределяется любая Port пара "ключ-значение", переданная в хэш-файл " Параметры ".

Тип:Hashtable
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Port

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

В PowerShell 6.0 этот параметр был включен в набор параметров HostName , который поддерживает подключения Secure Shell (SSH).

WinRM (набор параметров ComputerName)

Для подключения к удаленному компьютеру требуется, чтобы он прослушивал порт, используемый соединением. Порты по умолчанию — 5985, который является портом WinRM для HTTP и 5986, который является портом WinRM для HTTPS.

Прежде чем использовать альтернативный порт, необходимо настроить прослушиватель WinRM на удаленном компьютере для прослушивания по этому порту. Для настройки прослушивателя используйте следующие команды:

  1. winrm delete winrm/config/listener?Address=*+Transport=HTTP
  2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

Не используйте параметр Port , если только не требуется. Настройка порта в команде применяется ко всем компьютерам или сеансам, на которых выполняется команда. Альтернативный порт может помешать выполнению команды на всех компьютерах.

SSH (набор параметров HostName)

Чтобы подключиться к удаленному компьютеру, удаленный компьютер должен быть настроен с помощью службы SSH (SSHD) и должен прослушивать порт, используемый подключением. Порт по умолчанию для SSH — 22.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RunAsAdministrator

Указывает, что PSSession выполняется от имени администратора.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Session

Указывает сеанс PowerShell (PSSession), используемый для интерактивного сеанса. Этот параметр принимает объект сеанса. Вы также можете использовать параметры name, InstanceID или ID, чтобы указать psSession.

Введите переменную, содержащую объект сеанса или команду, которая создает или получает объект сеанса, например New-PSSession команду или Get-PSSession команду. Можно также передать объект Enter-PSSessionсеанса в . С помощью этого параметра можно отправить только одну PSSession . Если ввести переменную, содержащую несколько PSSession, команда завершается ошибкой.

При использовании Exit-PSSession или ключевом слове EXIT интерактивный сеанс заканчивается, но созданная служба PSSession остается открытой и доступной для использования.

Тип:PSSession
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-SessionOption

Задает дополнительные параметры для сеанса. Введите объект SessionOption, например создаваемый с помощью командлетаNew-PSSessionOption, или хэш-таблицу, в которой ключи являются именами параметров сеанса, а значения — значениями параметра сеанса.

Значения по умолчанию для параметров определяются значением переменной $PSSessionOption предпочтения, если она задана. В противном случае значения по умолчанию задаются параметрами, указанными в конфигурации сеанса.

Значения параметра сеанса имеют приоритет над значениями по умолчанию для сеансов, заданных в переменной $PSSessionOption предпочтения и в конфигурации сеанса. Однако они не имеют приоритета над максимальными значениями, квотами или ограничениями, установленными в конфигурации сеанса.

Описание параметров сеанса, включая значения по умолчанию, см. в разделе New-PSSessionOption. Сведения о переменной $PSSessionOption предпочтения см. в about_Preference_Variables. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.

Тип:PSSessionOption
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SSHTransport

Указывает, что удаленное подключение установлено с помощью Secure Shell (SSH).

По умолчанию PowerShell использует Windows WinRM для подключения к удаленному компьютеру. Этот коммутатор заставляет PowerShell использовать набор параметров HostName для установки удаленного подключения на основе SSH.

Этот параметр появился в PowerShell 6.0.

Тип:SwitchParameter
Допустимые значения:true
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Subsystem

Задает подсистему SSH, используемую для новой подсистемы PSSession.

Это указывает подсистему, используемую в целевом объекте, как определено в sshd_config. Подсистема запускает определенную версию PowerShell с предопределенными параметрами. Если указанная подсистема не существует на удаленном компьютере, команда завершается ошибкой.

Если этот параметр не используется, по умолчанию используется подсистема powershell .

Тип:String
Position:Named
Default value:Powershell
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-UserName

Указывает имя пользователя для учетной записи, используемой для создания сеанса на удаленном компьютере. Метод проверки подлинности пользователей зависит от настройки Secure Shell (SSH) на удаленном компьютере.

Если SSH настроен для базовой проверки подлинности паролей, вам будет предложено ввести пароль пользователя.

Если SSH настроен для проверки подлинности пользователя на основе ключей, uou не запрашивает пароль. Необходимо указать путь к файлу ключа SSH. Если файл ключа пользователя находится в известном расположении SSH, параметр KeyFilePath не нужен. Проверка подлинности пользователя происходит автоматически на основе имени пользователя. Дополнительные сведения см. в документации по SSH о проверке подлинности пользователей на основе ключей.

Если параметр UserName не указан, используется текущее имя пользователя, вошедшего в систему.

Этот параметр появился в PowerShell 6.0.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UseSSL

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

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

Если вы используете этот параметр, но SSL недоступен на порту, который используется для команды, команда завершается ошибкой.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-VMId

Указывает идентификатор виртуальной машины.

Тип:Guid
Aliases:VMGuid
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-VMName

Указывает имя виртуальной машины.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

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

String

Вы можете передать имя компьютера в виде строки в этот командлет.

PSSession

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

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

None

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

Примечания

PowerShell включает следующие псевдонимы для Enter-PSSession:

  • Все платформы:
    • etsn

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

При использовании Enter-PSSessionпрофиль пользователя на удаленном компьютере используется для интерактивного сеанса. Команды в профиле удаленного пользователя, включая команды для добавления модулей PowerShell и изменения командной строки, запускаются перед отображением удаленной строки.

Enter-PSSession использует параметр языка и региональных параметров пользовательского интерфейса на локальном компьютере для интерактивного сеанса. Чтобы найти локальный язык и региональные параметры пользовательского интерфейса, используйте автоматическую $UICulture переменную.

Enter-PSSessionтребует командлетов Get-CommandOut-Defaultи Exit-PSSession командлетов. Если эти командлеты не включены в конфигурацию сеанса на удаленном компьютере, Enter-PSSession команды завершались сбоем.

В отличие Invoke-Commandот того, что анализирует и интерпретирует команды перед их отправкой на удаленный компьютер, Enter-PSSession отправляет команды непосредственно на удаленный компьютер без интерпретации.

Если сеанс, который вы хотите ввести, занят обработкой команды, может возникнуть задержка, прежде чем PowerShell ответит на Enter-PSSession команду. Вы подключены сразу после того, как сеанс будет доступен. Чтобы отменить Enter-PSSession команду, нажмите клавиши CTRL+C.

Набор параметров HostName был включен начиная с PowerShell 6.0. Он был добавлен для предоставления удаленного взаимодействия PowerShell на основе Secure Shell (SSH). SSH и PowerShell поддерживаются на нескольких платформах (Windows, Linux, macOS) и удаленном взаимодействии PowerShell на этих платформах, где установлены и настроены SSH PowerShell. Это отличается от предыдущего удаленного взаимодействия Windows, основанного на WinRM, и большая часть конкретных функций и ограничений WinRM не применяется. Например, квоты на основе WinRM, параметры сеанса, настраиваемая конфигурация конечной точки и функции отключения и повторного подключения в настоящее время не поддерживаются. Дополнительные сведения о настройке удаленного взаимодействия PowerShell SSH см. в статье о удаленном взаимодействии PowerShell по протоколу SSH.

До PowerShell 7.1 удаленное взаимодействие через SSH не поддерживает удаленные сеансы второго прыжка. Эта возможность была ограничена сеансами через WinRM. PowerShell 7.1 позволяет Enter-PSSession и Enter-PSHostProcess работать в любом интерактивном удаленном сеансе.

Исполняемый ssh файл получает данные конфигурации из следующих источников в следующем порядке:

  1. Параметры командной строки
  2. файл конфигурации пользователя (~/.ssh/config)
  3. Файл конфигурации на уровне системы (/etc/ssh/ssh_config)

Следующие параметры командлета сопоставляются с ssh параметрами и параметрами:

Параметр командлета Параметр ssh эквивалентный параметр ssh -o
-KeyFilePath -i <KeyFilePath> -o IdentityFile=<KeyFilePath>
-UserName -l <UserName> -o User=<UserName>
-Port -p <Port> -o Port=<Port>
-ComputerName -Subsystem -s <ComputerName> <Subsystem> -o Host=<ComputerName>

Все значения, явно переданные параметрами, имеют приоритет над значениями, переданными в хэш-таблицы Options . Дополнительные сведения о файлах см. в ssh_config разделе ssh_config(5).