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
для интерактивного сеанса. Однако командлеты , Connect-PSSession
или Receive-PSSession
нельзя использовать Disconnect-PSSession
для отключения или повторного подключения к интерактивному сеансу.
Начиная с PowerShell 6.0, вы можете использовать Secure Shell (SSH) для установки подключения к удаленному компьютеру, если SSH доступен на локальном компьютере и на удаленном компьютере настроена конечная точка SSH PowerShell. Преимущество удаленного сеанса PowerShell на основе SSH заключается в том, что он работает на нескольких платформах (Windows, Linux, macOS). Для удаленного взаимодействия на основе SSH используйте параметр HostName , заданный для указания удаленного компьютера и соответствующих сведений о подключении. Дополнительные сведения о настройке удаленного взаимодействия PowerShell SSH см. в статье Удаленное взаимодействие PowerShell по SSH.
Чтобы завершить интерактивный сеанс и отключиться от удаленного компьютера, используйте Exit-PSSession
командлет или введите exit
.
Примеры
Пример 1. Запуск интерактивного сеанса
PS> Enter-PSSession
[localhost]: PS>
Эта команда запускает интерактивный сеанс на локальном компьютере. Командная строка изменяется, показывая, что команды выполняются в рамках другого сеанса.
Вводимые команды выполняются в рамках нового сеанса, а результаты возвращаются в сеанс по умолчанию в виде текста.
Пример 2. Работа с интерактивным сеансом
Первая команда использует Enter-PSSession
командлет для запуска интерактивного сеанса с удаленным компьютером Server01. При запуске сеанса в командную строку включается имя компьютера.
Вторая команда получает процесс PowerShell и перенаправляет выходные данные в Process.txt
файл.
Команда передается на удаленный компьютер, и файл сохраняется на удаленном компьютере.
Третья команда использует ключевое слово Выхода для завершения интерактивного сеанса и закрытия подключения.
Четвертая команда позволяет убедиться в том, что файл 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. Использование параметра Session
PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>
Эти команды используют параметр Session для 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-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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationName
Определяет сегмент имени приложения в URI соединения. Используйте этот параметр, чтобы указать имя приложения, если в команде не используется параметр ConnectionURI.
Значение по умолчанию — это значение переменной $PSSessionApplicationName
предпочтения на локальном компьютере. Если привилегированная переменная не определена, значение по умолчанию — WSMAN. Это значение подходит для большинства случаев Дополнительные сведения см. в разделе about_Preference_Variables.
Служба WinRM использует имя приложения для выбора прослушивателя для обслуживания запроса на подключение. Значение этого параметра должно совпадать со значением свойства URLPrefix прослушивателя на удаленном компьютере.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Authentication
Задает механизм, используемый при проверке подлинности учетных данных пользователя. Допустимые значения для этого параметра:
- Default
- Basic
- Credssp
- Digest (дайджест)
- Kerberos
- Согласование
- NegotiateWithImplicitCredential
Значение по умолчанию — Default.
Проверка подлинности CredSSP доступна только в Windows Vista, Windows Server 2008 и более поздних версиях операционной системы Windows.
Дополнительные сведения о значениях этого параметра см. в разделе Перечисление AuthenticationMechanism.
Внимание!
Аутентификация CredSSP, в рамках которой учетные данные пользователя передаются на удаленный компьютер для проверки, предназначена для команд, требующих аутентификацию нескольких ресурсов, например для доступа к удаленной сетевой папке. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, могут использоваться для управления сетевым сеансом.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Задает цифровой сертификат с открытым ключом (X509) учетной записи пользователя, который располагает разрешением для выполнения этого действия. Введите отпечаток сертификата.
Сертификаты используются при проверке подлинности на основе сертификата клиента. Они могут сопоставляться только с учетными записями локальных пользователей и не работают с учетными записями доменов.
Чтобы получить сертификат, используйте Get-Item
команду или Get-ChildItem
на диске PowerShell Cert: .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Указывает имя компьютера. Этот командлет запускает интерактивный сеанс с указанным удаленным компьютером. Введите имя одного компьютера. По умолчанию это локальный компьютер.
Введите имя NetBIOS, IP-адрес или полное доменное имя компьютера. Вы также можете передать имя компьютера в Enter-PSSession
.
Чтобы использовать IP-адрес в значении параметра ComputerName , команда должна включать параметр Credential . Кроме того, компьютер должен быть настроен для транспорта HTTPS или IP-адрес удаленного компьютера должен быть включен в список TrustedHosts службы WinRM на локальном компьютере. Инструкции по добавлению имени компьютера в список TrustedHosts см. в разделе How to Add a Computer to the Trusted Host List (Добавление компьютера в список надежных узлов) статьи about_Remote_Troubleshooting.
Примечание
В операционной системе Windows, чтобы включить локальный компьютер в значение параметра ComputerName , необходимо запустить PowerShell с параметром Запуск от имени администратора.
Type: | String |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConfigurationName
Задает конфигурацию сеанса, используемого для интерактивного сеанса.
Введите имя конфигурации или полное имя ресурса (URI) для конфигурации сеанса. Если указать только имя конфигурации, в начале добавляется следующий универсальный код ресурса (URI) схемы: http://schemas.microsoft.com/powershell
.
При использовании с SSH определяет подсистему, используемую в целевом объекте, как определено в sshd_config. Значением по умолчанию для SSH является подсистема powershell
.
Конфигурация сеанса для сеанса размещается на удаленном компьютере. Если указанной конфигурации сеанса нет на удаленном компьютере, команда завершается ошибкой.
Значение по умолчанию — это значение переменной $PSSessionConfigurationName
предпочтения на локальном компьютере. Если эта привилегированная переменная не определена, значением по умолчанию является Microsoft.PowerShell. Дополнительные сведения см. в разделе about_Preference_Variables.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConnectingTimeout
Указывает время в миллисекундах, необходимое для завершения начального SSH-подключения. Если подключение не завершается в течение указанного времени, возвращается ошибка.
Этот параметр появился в PowerShell 7.2
Type: | Int32 |
Position: | Named |
Default value: | unlimited |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionUri
Указывает универсальный код ресурса (URI), определяющий конечную точку подключения для сеанса. Значение URI должно быть указано полностью. Строка имеет следующий формат:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Значение по умолчанию определяется следующим образом.
http://localhost:5985/WSMAN
Если не указывать ConnectionURI, можно использовать параметры UseSSL, ComputerName, Port и ApplicationName для задания значений ConnectionURI.
Допустимые значения для сегмента транспорта URI — HTTP и HTTPS. Если вы указываете URI подключения с сегментом транспорта, но не указываете порт, сеанс создается с использованием стандартных портов: 80 для HTTP и 443 для HTTPS. Чтобы использовать порты по умолчанию для удаленного взаимодействия PowerShell, укажите порт 5985 для HTTP или 5986 для HTTPS.
Если конечный компьютер перенаправляет подключение на другой универсальный код ресурса (URI), PowerShell запрещает перенаправление, если в команде не используется параметр AllowRedirection .
Type: | Uri |
Aliases: | URI, CU |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ContainerId
Указывает идентификатор контейнера.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , созданный командлетом Get-Credential
. Если ввести имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.
Примечание
Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно secure is SecureString?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnableNetworkAccess
Указывает, что этот командлет добавляет интерактивный маркер безопасности в сеансы замыкания на себя. Интерактивный маркер позволяет выполнять в петлевом сеансе команды, которые получают данные с других компьютеров. Например, можно выполнить команду в сеансе, который копирует XML-файлы с удаленного компьютера на локальный.
Сеанс замыкания на себя — это сеанс PSSession , который создается и заканчивается на одном компьютере. Чтобы создать сеанс замыкания на себя, опустите параметр ComputerName или присвойте ей значение . (точка), localhost или имя локального компьютера.
По умолчанию сеансы замыкания на себя создаются с помощью сетевого маркера, который может не предоставить достаточные разрешения для проверки подлинности на удаленных компьютерах.
Параметр EnableNetworkAccess действует только в петлевых сеансах. Если при создании сеанса на удаленном компьютере используется enableNetworkAccess , команда будет выполнена успешно, но параметр игнорируется.
Удаленный доступ в петлевом сеансе также можно разрешить с помощью значенияCredSSP параметра Authentication, который делегирует учетные данные сеанса на другие компьютеры.
Этот параметр впервые появился в Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostName
Указывает имя компьютера для подключения на основе Secure Shell (SSH). Это похоже на параметр ComputerName , за исключением того, что подключение к удаленному компьютеру осуществляется по протоколу SSH, а не Windows WinRM. Этот параметр поддерживает указание имени пользователя и (или) порта в качестве части значения параметра имени узла с помощью формы user@hostname:port
. Имя пользователя и (или) порт, указанные в имени узла, имеют приоритет над параметрами -UserName
и -Port
, если они указаны. Это позволяет передавать в этот параметр несколько имен компьютеров, где некоторые из них имеют определенные имена пользователей и (или) порты, а другие используют имя пользователя и (или) порт из -UserName
параметров и -Port
.
Этот параметр появился в PowerShell 6.0.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
Указывает идентификатор существующего сеанса. Enter-PSSession
использует указанный сеанс для интерактивного сеанса.
Чтобы найти идентификатор сеанса, используйте Get-PSSession
командлет .
Type: | Int32 |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Указывает идентификатор экземпляра существующего сеанса. Enter-PSSession
использует указанный сеанс для интерактивного сеанса.
Значение идентификатора экземпляра представляет собой GUID. Чтобы найти идентификатор экземпляра сеанса, используйте Get-PSSession
командлет . Вы также можете использовать параметры Session, Name или ID , чтобы указать существующий сеанс. Или можно использовать параметр ComputerName для запуска временного сеанса.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyFilePath
Указывает путь к файлу ключа, используемый Secure Shell (SSH) для проверки подлинности пользователя на удаленном компьютере.
SSH позволяет выполнять проверку подлинности пользователей с помощью закрытых или открытых ключей в качестве альтернативы обычной проверке подлинности по паролю. Если удаленный компьютер настроен для проверки подлинности по ключу, этот параметр можно использовать для предоставления ключа, который идентифицирует пользователя.
Этот параметр появился в PowerShell 6.0.
Type: | String |
Aliases: | IdentityFilePath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Указывает понятное имя существующего сеанса. Enter-PSSession
использует указанный сеанс для интерактивного сеанса.
Если указанное имя соответствует сразу нескольким сеансам, команда завершается ошибкой. Для указания существующего сеанса можно также использовать параметры Session, InstanceID или ID . Или можно использовать параметр ComputerName для запуска временного сеанса.
Чтобы установить понятное имя для сеанса, используйте параметр Name командлета New-PSSession
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Options
Указывает хэш-таблице параметров SSH, используемых при подключении к удаленному сеансу на основе SSH. Возможные параметры — это любые значения, поддерживаемые версией команды SSH на основе Unix.
Все значения, явно переданные параметрами, имеют приоритет над значениями, переданными в хэш-таблицы параметров . Например, использование параметра Port переопределяет любую Port
пару "ключ-значение", переданную в хэш-сводке Options .
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Port
Указывает сетевой порт на удаленном компьютере, который используется для этой команды.
В PowerShell 6.0 этот параметр был включен в набор параметров HostName , который поддерживает подключения Secure Shell (SSH).
WinRM (набор параметров ComputerName)
Для подключения к удаленному компьютеру требуется, чтобы он прослушивал порт, используемый соединением. По умолчанию используются порты 5985 ( порт WinRM для HTTP), и 5986 , который является портом WinRM для HTTPS.
Прежде чем использовать альтернативный порт, необходимо настроить прослушиватель WinRM на удаленном компьютере для прослушивания по этому порту. Для настройки прослушивателя используйте следующие команды:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Не используйте параметр Port, если этого можно избежать. Настройка порта в команде применяется ко всем компьютерам или сеансам, на которых выполняется команда. Альтернативный порт может помешать выполнению команды на всех компьютерах.
SSH (набор параметров HostName)
Для подключения к удаленному компьютеру удаленный компьютер должен быть настроен со службой SSH (SSHD) и прослушивать порт, используемый подключением. Порт по умолчанию для SSH — 22.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsAdministrator
Указывает, что PSSession выполняется от имени администратора.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Session
Указывает сеанс PowerShell (PSSession), используемый для интерактивного сеанса. Этот параметр принимает объект сеанса. Вы также можете использовать параметры Name, InstanceID или ID , чтобы указать PSSession.
Введите переменную, содержащую объект сеанса или команду, которая создает или получает объект сеанса, например New-PSSession
команду или Get-PSSession
. Вы также можете передать объект сеанса в Enter-PSSession
. С помощью этого параметра можно отправить только одно psSession . Если ввести переменную, содержащую несколько PSSession, команда завершается ошибкой.
При использовании Exit-PSSession
или ключевое слово EXIT интерактивный сеанс завершается, но созданное вами PSSession остается открытым и доступным для использования.
Type: | PSSession |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SessionOption
Задает дополнительные параметры для сеанса. Введите объект SessionOption , например создаваемый с помощью New-PSSessionOption
командлета, или хэш-таблицу, в которой ключи являются именами параметров сеанса, а значения — значениями параметров сеанса.
Значения по умолчанию для параметров определяются значением переменной $PSSessionOption
предпочтения, если она задана. В противном случае значения по умолчанию задаются параметрами, указанными в конфигурации сеанса.
Значения параметров сеанса имеют приоритет над значениями по умолчанию для сеансов, заданных в переменной $PSSessionOption
предпочтения и в конфигурации сеанса. Однако они не имеют приоритет над максимальными значениями, квотами и ограничениями, заданными в конфигурации сеанса.
Описание параметров сеанса, включая значения по умолчанию, см. в разделе New-PSSessionOption
.
Сведения о переменной предпочтения см. в $PSSessionOption
разделе about_Preference_Variables. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.
Type: | PSSessionOption |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SSHTransport
Указывает, что удаленное подключение установлено с помощью Secure Shell (SSH).
По умолчанию PowerShell использует Windows WinRM для подключения к удаленному компьютеру. Этот параметр заставляет PowerShell использовать набор параметров HostName для установки удаленного подключения на основе SSH.
Этот параметр появился в PowerShell 6.0.
Type: | SwitchParameter |
Accepted values: | true |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subsystem
Указывает подсистему SSH, используемую для нового PSSession.
Это указывает подсистему, используемую в целевом объекте, как определено в sshd_config. Подсистема запускает определенную версию PowerShell с предопределенными параметрами. Если указанная подсистема не существует на удаленном компьютере, команда завершается ошибкой.
Если этот параметр не используется, по умолчанию используется подсистема PowerShell.
Type: | String |
Position: | Named |
Default value: | Powershell |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UserName
Указывает имя пользователя для учетной записи, используемой для создания сеанса на удаленном компьютере. Метод проверки подлинности пользователя будет зависеть от настройки Secure Shell (SSH) на удаленном компьютере.
Если SSH настроен для обычной проверки подлинности паролем, вам будет предложено ввести пароль пользователя.
Если SSH настроен для проверки подлинности пользователя на основе ключей, путь к файлу ключа можно указать с помощью параметра KeyFilePath , и запрос пароля не будет выполняться. Обратите внимание, что если файл ключа пользователя клиента находится в известном расположении SSH, параметр KeyFilePath не требуется для проверки подлинности на основе ключа, и проверка подлинности пользователя будет выполняться автоматически на основе имени пользователя. Дополнительные сведения см. в документации по SSH о проверке подлинности пользователя на основе ключей.
Этот параметр не является обязательным. Если параметр UserName не указан, для подключения используется текущее имя пользователя для входа.
Этот параметр появился в PowerShell 6.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
Указывает, что этот командлет использует протокол SSL для установки подключения к удаленному компьютеру. По умолчанию SSL не используется.
WS-Management шифрует все содержимое PowerShell, передаваемое по сети. Параметр UseSSL — это дополнительная защита, которая отправляет данные через HTTPS-подключение, а не через HTTP-подключение.
Если вы используете этот параметр, но SSL недоступен на порту, используемом для команды, команда завершается ошибкой.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMId
Указывает идентификатор виртуальной машины.
Type: | Guid |
Aliases: | VMGuid |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Указывает имя виртуальной машины.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Входные данные
Вы можете передать имя компьютера в виде строки в этот командлет.
Объект сеанса можно передать в этот командлет по конвейеру.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
PowerShell включает следующие псевдонимы для Enter-PSSession
:
- Для всех платформ.
etsn
Чтобы подключиться к удаленному компьютеру, необходимо быть членом группы администраторов на удаленном компьютере. Чтобы запустить интерактивный сеанс на локальном компьютере, необходимо запустить PowerShell с параметром Запуск от имени администратора .
При использовании Enter-PSSession
для интерактивного сеанса используется ваш профиль пользователя на удаленном компьютере. Команды в профиле удаленного пользователя, включая команды для добавления модулей PowerShell и изменения командной строки, выполняются перед отображением удаленной строки.
Enter-PSSession
использует параметр языка и региональных параметров пользовательского интерфейса на локальном компьютере для интерактивного сеанса. Чтобы найти локальный язык и региональные параметры пользовательского интерфейса, используйте автоматическую $UICulture
переменную.
Enter-PSSession
требуются Get-Command
командлеты , Out-Default
и Exit-PSSession
. Если эти командлеты не включены в конфигурацию сеанса на удаленном Enter-PSSession
компьютере, команды завершаются ошибкой.
В отличие от Invoke-Command
, который анализирует и интерпретирует команды перед их отправкой на удаленный компьютер, Enter-PSSession
отправляет команды непосредственно на удаленный компьютер без интерпретации.
Если сеанс, который вы хотите ввести, занят обработкой команды, может возникнуть задержка Enter-PSSession
, прежде чем PowerShell ответит на команду. Вы будете подключены, как только сеанс будет доступен. Чтобы отменить команду, нажмите клавишиEnter-PSSession
CTRL +C.
Набор параметров HostName был включен начиная с PowerShell 6.0. Он был добавлен для предоставления удаленного взаимодействия PowerShell на основе Secure Shell (SSH). Как SSH, так и PowerShell поддерживаются на нескольких платформах (Windows, Linux, macOS), а удаленное взаимодействие PowerShell работает на этих платформах, где установлены и настроены PowerShell и SSH. Это отличается от предыдущего удаленного взаимодействия Windows, основанного на WinRM, и большинство функций и ограничений WinRM не применяются. Например, квоты на основе WinRM, параметры сеанса, настраиваемая конфигурация конечной точки, а также функции отключения и повторного подключения в настоящее время не поддерживаются. Дополнительные сведения о настройке удаленного взаимодействия PowerShell SSH см. в статье Удаленное взаимодействие PowerShell по SSH.
До PowerShell 7.1 удаленное взаимодействие по SSH не поддерживало удаленные сеансы со вторым прыжком. Эта возможность была ограничена сеансами через WinRM. PowerShell 7.1 позволяет Enter-PSSession
и Enter-PSHostProcess
работать в любом интерактивном удаленном сеансе.
Исполняемый ssh
файл получает данные конфигурации из следующих источников в следующем порядке:
- Параметры командной строки
- файл конфигурации пользователя (~/.ssh/config)
- Файл конфигурации для всей системы (/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).