Об устранении неполадок удаленного поискаAbout Remote Troubleshooting

Краткое описаниеShort description

Описывает устранение неполадок удаленных операций в PowerShell.Describes how to troubleshoot remote operations in PowerShell.

Подробное описаниеLong description

В этом разделе описываются некоторые проблемы, которые могут возникнуть при использовании функций удаленного взаимодействия PowerShell, основанных на технологии WS-Management и предлагающих решения этих проблем.This section describes some of the problems that you might encounter when using the remoting features of PowerShell that are based on WS-Management technology and it suggests solutions to these problems.

Прежде чем использовать удаленное взаимодействие PowerShell, ознакомьтесь со статьей about_Remote и about_Remote_Requirements , где приведены рекомендации по настройке и базовому использованию.Before using PowerShell remoting, see about_Remote and about_Remote_Requirements for guidance on configuration and basic use. Кроме того, разделы справки по каждому из командлетов удаленного взаимодействия, в особенности описания параметров, содержат полезную информацию, которая поможет избежать проблем.Also, the Help topics for each of the remoting cmdlets, particularly the parameter descriptions, have useful information that is designed to help you avoid problems.

Примечание

Чтобы просмотреть или изменить параметры локального компьютера на диске WSMan:, включая изменения в конфигурациях сеансов, доверенных узлах, портах или прослушивателях, запустите PowerShell с параметром Запуск от имени администратора .To view or change settings for the local computer in the WSMan: drive, including changes to the session configurations, trusted hosts, ports, or listeners, start PowerShell with the Run as administrator option.

Устранение неполадок разрешений и проверки подлинностиTroubleshooting permission and authentication issues

В этом разделе обсуждаются проблемы удаленного взаимодействия, связанные с разрешениями пользователя и компьютера и требованиями удаленного взаимодействия.This section discusses remoting problems that are related to user and computer permissions and remoting requirements.

Запуск от имени администратораHow to run as administrator

ERROR: Access is denied. You need to run this cmdlet from an elevated
process.

Чтобы запустить удаленный сеанс на локальном компьютере или просмотреть или изменить параметры для локального компьютера на диске WSMan:, включая изменения в конфигурациях сеансов, доверенных узлах, портах или прослушивателях, запустите Windows PowerShell с параметром Запуск от имени администратора .To start a remote session on the local computer, or to view or change settings for the local computer in the WSMan: drive, including changes to the session configurations, trusted hosts, ports, or listeners, start Windows PowerShell with the Run as administrator option.

Чтобы запустить Windows PowerShell с параметром Запуск от имени администратора , выполните следующие действия.To start Windows PowerShell with the Run as administrator option:

  • Щелкните правой кнопкой мыши значок Windows PowerShell (интегрированная среда сценариев Windows PowerShell) и выберите команду Запуск от имени администратора.Right-click a Windows PowerShell (or Windows PowerShell ISE) icon and then click Run as administrator.

    Для запуска Windows PowerShell с параметром Запуск от имени администратора в Windows 7 и windows Server 2008 R2.To start Windows PowerShell with the Run as administrator option in Windows 7 and Windows Server 2008 R2.

  • На панели задач Windows щелкните правой кнопкой мыши значок Windows PowerShell и выберите команду Запуск от имени администратора.In the Windows taskbar, right-click the Windows PowerShell icon, and then click Run as administrator.

    В Windows Server 2008 R2 значок Windows PowerShell закреплен на панели задач по умолчанию.In Windows Server 2008 R2, the Windows PowerShell icon is pinned to the taskbar by default.

Как включить удаленное взаимодействиеHow to enable remoting

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to
listen for requests on the correct port and HTTP URL.

Для включения отправки удаленных команд на компьютере не требуется настраивать конфигурацию.No configuration is required to enable a computer to send remote commands. Однако для получения удаленных команд на компьютере должна быть включена служба удаленного взаимодействия PowerShell.However, to receive remote commands, PowerShell remoting must be enabled on the computer. Включение включает запуск службы WinRM, задание для типа запуска службы WinRM значения автоматически, создание прослушивателей для соединений HTTP и HTTPS и создание конфигураций сеансов по умолчанию.Enabling includes starting the WinRM service, setting the startup type for the WinRM service to Automatic, creating listeners for HTTP and HTTPS connections, and creating default session configurations.

Удаленное взаимодействие Windows PowerShell включено в Windows Server 2012 и более новых выпусках Windows Server по умолчанию.Windows PowerShell remoting is enabled on Windows Server 2012 and newer releases of Windows Server by default. Во всех остальных системах выполните командлет, Enable-PSRemoting чтобы включить удаленное взаимодействие.On all other systems, run the Enable-PSRemoting cmdlet to enable remoting. Можно также выполнить командлет, Enable-PSRemoting чтобы повторно включить удаленное взаимодействие на Windows server 2012 и более поздних выпусках Windows Server, если удаленное взаимодействие отключено.You can also run the Enable-PSRemoting cmdlet to re-enable remoting on Windows Server 2012 and newer releases of Windows Server if remoting is disabled.

Чтобы настроить компьютер для получения удаленных команд, используйте Enable-PSRemoting командлет.To configure a computer to receive remote commands, use the Enable-PSRemoting cmdlet. Следующая команда включает все необходимые удаленные параметры, включает конфигурации сеанса и перезапускает службу WinRM, чтобы изменения были эффективными.The following command enables all required remote settings, enables the session configurations, and restarts the WinRM service to make the changes effective.

Enable-PSRemoting

Чтобы отключить все запросы пользователя, введите:To suppress all user prompts, type:

Enable-PSRemoting -Force

Дополнительные сведения см. в разделе Enable-PSRemoting.For more information, see Enable-PSRemoting.

Как включить удаленное взаимодействие на предприятииHow to enable remoting in an enterprise

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Чтобы разрешить одному компьютеру получать удаленные команды PowerShell и принимать подключения, используйте Enable-PSRemoting командлет.To enable a single computer to receive remote PowerShell commands and accept connections, use the Enable-PSRemoting cmdlet.

Чтобы включить удаленное взаимодействие для нескольких компьютеров в Организации, можно использовать следующие масштабируемые параметры.To enable remoting for multiple computers in an enterprise, you can use the following scaled options.

  • Чтобы настроить прослушиватели для удаленного взаимодействия, включите групповую политику Разрешить автоматическую настройку прослушивателей .To configure listeners for remoting, enable the Allow automatic configuration of listeners group policy.

  • Чтобы задать автоматический тип запуска служба удаленного управления Windows (WinRM) на нескольких компьютерах, используйте Set-Service командлет.To set the startup type of the Windows Remote Management (WinRM) to Automatic on multiple computers, use the Set-Service cmdlet.

  • Чтобы включить исключение брандмауэра, воспользуйтесь групповой политикой Брандмауэр Windows: разрешить исключения локальных портов .To enable a firewall exception, use the Windows Firewall: Allow Local Port Exceptions group policy.

Включение прослушивателей с помощью групповой политикиHow to enable listeners by using a group policy

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Чтобы настроить прослушиватели для всех компьютеров в домене, включите политику Разрешить автоматическую настройку прослушивателей в следующем групповая политика пути:To configure the listeners for all computers in a domain, enable the Allow automatic configuration of listeners policy in the following Group Policy path:

Computer Configuration\Administrative Templates\Windows Components
    \Windows Remote Management (WinRM)\WinRM service

Включите политику и укажите фильтры IPv4 и IPv6.Enable the policy and specify the IPv4 and IPv6 filters. Допускаются подстановочные знаки ( * ).Wildcards (*) are permitted.

Включение удаленного взаимодействия в общедоступных сетяхHow to enable remoting on public networks

ERROR:  Unable to check the status of the firewall

Enable-PSRemotingКомандлет возвращает эту ошибку, если локальная сеть является общедоступной, а параметр SkipNetworkProfileCheck не используется в команде.The Enable-PSRemoting cmdlet returns this error when the local network is public and the SkipNetworkProfileCheck parameter is not used in the command.

В серверных версиях Windows работает Enable-PSRemoting на всех типах сетевых расположений.On server versions of Windows, Enable-PSRemoting succeeds on all network location types. Он создает правила брандмауэра, разрешающие удаленный доступ к частным и доменным (домашним и рабочим) сетям.It creates firewall rules that allow remote access to private and domain ("Home" and "Work") networks. Для общедоступных сетей он создает правила брандмауэра, разрешающие удаленный доступ из той же локальной подсети.For public networks, it creates firewall rules that allows remote access from the same local subnet.

В клиентских версиях Windows работает Enable-PSRemoting в частных и доменных сетях.On client versions of Windows, Enable-PSRemoting succeeds on private and domain networks. По умолчанию он завершается сбоем в общедоступных сетях, но если вы используете параметр SkipNetworkProfileCheck , то Enable-PSRemoting завершается и создается правило брандмауэра, разрешающее трафик из той же локальной подсети.By default, it fails on public networks, but if you use the SkipNetworkProfileCheck parameter, Enable-PSRemoting succeeds and creates a firewall rule that allows traffic from the same local subnet.

Чтобы удалить ограничение локальной подсети в общедоступных сетях и разрешить удаленный доступ из любого расположения, выполните следующую команду:To remove the local subnet restriction on public networks and allow remote access from any location, run the following command:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Set-NetFirewallRuleКомандлет экспортируется модулем NetSecurity.The Set-NetFirewallRule cmdlet is exported by the NetSecurity module.

Примечание

В Windows PowerShell 2,0 на компьютерах под управлением серверных версий Windows Enable-PSRemoting создаются правила брандмауэра, обеспечивающие удаленный доступ к частным, доменным и общедоступным сетям.In Windows PowerShell 2.0, on computers running server versions of Windows, Enable-PSRemoting creates firewall rules that allow remote access on private, domain and public networks. На компьютерах с клиентскими версиями Windows Enable-PSRemoting создает правила брандмауэра, разрешающие удаленный доступ только в частных и доменных сетях.On computers running client versions of Windows, Enable-PSRemoting creates firewall rules that allow remote access only on private and domain networks.

Как включить исключение брандмауэра с помощью групповой политикиHow to enable a firewall exception by using a group policy

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Чтобы включить исключение брандмауэра на всех компьютерах в домене, включите политику брандмауэра Windows: разрешить исключения локальных портов в следующем групповая политика пути:To enable a firewall exception for in all computers in a domain, enable the Windows Firewall: Allow local port exceptions policy in the following Group Policy path:

Computer Configuration\Administrative Templates\Network
    \Network Connections\Windows Firewall\Domain Profile

Эта политика позволяет членам группы администраторов на компьютере использовать Брандмауэр Windows на панели управления для создания исключения брандмауэра для службы Служба удаленного управления Windows.This policy allows members of the Administrators group on the computer to use Windows Firewall in Control Panel to create a firewall exception for the Windows Remote Management service.

Если конфигурация политики неверна, может появиться следующее сообщение об ошибке:If the policy configuration is incorrect you may receive the following error:

The client cannot connect to the destination specified in the request. Verify
that the service on the destination is running and is accepting requests.

Ошибка конфигурации в политике приводит к пустому значению свойства листенингон .A configuration error in the policy results in an empty value for the ListeningOn property. Для проверки значения используйте следующую команду.Use the following command to check the value.

PS> Get-WSManInstance winrm/config/listener -Enumerate

cfg                   : http://schemas.microsoft.com/wbem/wsman/1/config/listener
xsi                   : http://www.w3.org/2001/XMLSchema-instance
Source                : GPO
lang                  : en-US
Address               : *
Transport             : HTTP
Port                  : 5985
Hostname              :
Enabled               : true
URLPrefix             : wsman
CertificateThumbprint :
ListeningOn           : {}

Как задать тип запуска службы WinRMHow to set the startup type of the WinRM service

ERROR:  ACCESS IS DENIED

Удаленное взаимодействие PowerShell зависит от службы служба удаленного управления Windows (WinRM).PowerShell remoting depends upon the Windows Remote Management (WinRM) service. Служба должна быть запущена для поддержки удаленных команд.The service must be running to support remote commands.

В серверных версиях Windows тип запуска службы служба удаленного управления Windows (WinRM) — автоматически.On server versions of Windows, the startup type of the Windows Remote Management (WinRM) service is Automatic.

Однако в клиентских версиях Windows служба WinRM по умолчанию отключена.However, on client versions of Windows, the WinRM service is disabled by default.

Чтобы задать тип запуска службы на удаленном компьютере, используйте Set-Service командлет.To set the startup type of a service on a remote computer, use the Set-Service cmdlet.

Чтобы выполнить команду на нескольких компьютерах, можно создать текстовый файл или CSV-файл с именами компьютеров.To run the command on multiple computers, you can create a text file or CSV file of the computer names.

Например, следующие команды получают список имен компьютеров из Servers.txt файла, а затем задает для всех компьютеров Автоматический тип запуска службы WinRM.For example, the following commands get a list of computer names from the Servers.txt file and then sets the startup type of the WinRM service on all of the computers to Automatic.

$servers = Get-Content servers.txt
Set-Service WinRM -ComputerName $servers -startuptype Automatic

Чтобы просмотреть результаты, используйте Get-WMIObject командлет с объектом Win32_Service .To see the results use the Get-WMIObject cmdlet with the Win32_Service object. Дополнительные сведения см. в разделе Set-Service.For more information, see Set-Service.

Повторное создание конфигураций сеансов по умолчаниюHow to recreate the default session configurations

ERROR:  ACCESS IS DENIED

Чтобы подключиться к локальному компьютеру и выполнить команды удаленно, локальный компьютер должен включать конфигурации сеанса для удаленных команд.To connect to the local computer and run commands remotely, the local computer must include session configurations for remote commands.

При использовании Enable-PSRemoting он создает конфигурации сеансов по умолчанию на локальном компьютере.When you use Enable-PSRemoting, it creates default session configurations on the local computer. Удаленные пользователи используют эти конфигурации сеанса каждый раз, когда удаленная команда не включает параметр configurationName .Remote users use these session configurations whenever a remote command does not include the ConfigurationName parameter.

Если конфигурации по умолчанию на компьютере не зарегистрированы или удалены, используйте Enable-PSRemoting командлет для их повторного создания.If the default configurations on a computer are unregistered or deleted, use the Enable-PSRemoting cmdlet to recreate them. Этот командлет можно использовать многократно.You can use this cmdlet repeatedly. Если функция уже настроена, она не создает ошибок.It does not generate errors if a feature is already configured.

При изменении конфигураций сеансов по умолчанию и необходимости восстановления исходных конфигураций сеансов по умолчанию используйте Unregister-PSSessionConfiguration командлет для удаления измененных конфигураций сеанса, а затем используйте Enable-PSRemoting командлет для их восстановления.If you change the default session configurations and want to restore the original default session configurations, use the Unregister-PSSessionConfiguration cmdlet to delete the changed session configurations and then use the Enable-PSRemoting cmdlet to restore them. Enable-PSRemoting не изменяет существующие конфигурации сеанса.Enable-PSRemoting does not change existing session configurations.

Примечание

При Enable-PSRemoting восстановлении конфигурации сеанса по умолчанию не создаются явные дескрипторы безопасности для конфигураций.When Enable-PSRemoting restores the default session configuration, it does not create explicit security descriptors for the configurations. Вместо этого конфигурации наследуют дескриптор безопасности Рутсддл, который является безопасным по умолчанию.Instead, the configurations inherit the security descriptor of the RootSDDL, which is secure by default.

Чтобы просмотреть дескриптор безопасности Рутсддл, введите:To see the RootSDDL security descriptor, type:

Get-Item wsman:\localhost\Service\RootSDDL

Чтобы изменить Рутсддл, используйте Set-Item командлет на диске WSMan:.To change the RootSDDL, use the Set-Item cmdlet in the WSMan: drive. Чтобы изменить дескриптор безопасности конфигурации сеанса, используйте Set-PSSessionConfiguration командлет с параметрами SecurityDescriptorSDDL или ShowSecurityDescriptorUI .To change the security descriptor of a session configuration, use the Set-PSSessionConfiguration cmdlet with the SecurityDescriptorSDDL or ShowSecurityDescriptorUI parameters.

Дополнительные сведения о диске WSMan: см. в разделе справки по поставщику WSMan ("Get-Help WSMAN").For more information about the WSMan: drive, see the Help topic for the WSMan provider ("Get-Help wsman").

Как указать учетные данные администратораHow to provide administrator credentials

ERROR:  ACCESS IS DENIED

Чтобы создать сеанс PSSession или выполнить команды на удаленном компьютере, по умолчанию текущий пользователь должен быть членом группы администраторов на удаленном компьютере.To create a PSSession or run commands on a remote computer, by default, the current user must be a member of the Administrators group on the remote computer. Учетные данные иногда требуются даже при входе текущего пользователя в учетную запись, которая является членом группы "Администраторы".Credentials are sometimes required even when the current user is logged on to an account that is a member of the Administrators group.

Если текущий пользователь является членом группы "Администраторы" на удаленном компьютере или может предоставить учетные данные члена группы "Администраторы", используйте параметр Credential New-PSSession Enter-PSSession Invoke-Command командлета или, чтобы подключиться удаленно.If the current user is a member of the Administrators group on the remote computer, or can provide the credentials of a member of the Administrators group, use the Credential parameter of the New-PSSession, Enter-PSSession or Invoke-Command cmdlets to connect remotely.

Например, следующая команда предоставляет учетные данные администратора.For example, the following command provides the credentials of an Administrator.

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

Дополнительные сведения о параметре Credential см. в разделе New-PSSession, Enter-PSSession или Invoke-Command.For more information about the Credential parameter, see New-PSSession, Enter-PSSession or Invoke-Command.

Включение удаленного взаимодействия для пользователей, не являющихся администраторамиHow to enable remoting for non-administrative users

ERROR:  ACCESS IS DENIED

Чтобы установить PSSession или выполнить команду на удаленном компьютере, пользователь должен иметь разрешение на использование конфигураций сеансов на удаленном компьютере.To establish a PSSession or run a command on a remote computer, the user must have permission to use the session configurations on the remote computer.

По умолчанию разрешения на использование конфигураций сеансов по умолчанию имеют только члены группы «Администраторы» на компьютере.By default, only members of the Administrators group on a computer have permission to use the default session configurations. Таким образом, только члены группы «Администраторы» могут подключаться к компьютеру удаленно.Therefore, only members of the Administrators group can connect to the computer remotely.

Чтобы разрешить другим пользователям подключаться к локальному компьютеру, предоставьте пользователю разрешения на выполнение конфигураций сеансов по умолчанию на локальном компьютере.To allow other users to connect to the local computer, give the user Execute permissions to the default session configurations on the local computer.

Следующая команда открывает страницу свойств, которая позволяет изменить дескриптор безопасности конфигурации сеанса Microsoft. PowerShell по умолчанию на локальном компьютере.The following command opens a property sheet that lets you change the security descriptor of the default Microsoft.PowerShell session configuration on the local computer.

Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

Дополнительные сведения см. в разделе about_Session_Configurations.For more information, see about_Session_Configurations.

Включение удаленного взаимодействия для администраторов в других доменахHow to enable remoting for administrators in other domains

ERROR:  ACCESS IS DENIED

Если пользователь в другом домене входит в группу администраторов на локальном компьютере, он не может удаленно подключиться к локальному компьютеру с правами администратора.When a user in another domain is a member of the Administrators group on the local computer, the user cannot connect to the local computer remotely with Administrator privileges. По умолчанию удаленные подключения из других доменов выполняются только с маркерами прав обычного пользователя.By default, remote connections from other domains run with only standard user privilege tokens.

Однако можно использовать запись реестра LocalAccountTokenFilterPolicy , чтобы изменить поведение по умолчанию и разрешить удаленным пользователям, которые являются членами группы "Администраторы", работать с правами администратора.However, you can use the LocalAccountTokenFilterPolicy registry entry to change the default behavior and allow remote users who are members of the Administrators group to run with Administrator privileges.

Внимание!

Запись LocalAccountTokenFilterPolicy отключает удаленные ограничения контроля учетных записей (UAC) для всех пользователей всех затронутых компьютеров.The LocalAccountTokenFilterPolicy entry disables user account control (UAC) remote restrictions for all users of all affected computers. Прежде чем изменять политику, внимательно изучите последствия этого параметра.Consider the implications of this setting carefully before changing the policy.

Чтобы изменить политику, используйте следующую команду, чтобы присвоить параметру реестра LocalAccountTokenFilterPolicy значение 1.To change the policy, use the following command to set the value of the LocalAccountTokenFilterPolicy registry entry to 1.

New-ItemProperty -Name LocalAccountTokenFilterPolicy `
  -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System `
  -PropertyType DWord -Value 1

Использование IP-адреса в удаленной командеHow to use an ip address in a remote command

ERROR: The WinRM client cannot process the request. If the authentication
scheme is different from Kerberos, or if the client computer is not joined to a
domain, then HTTPS transport must be used or the destination machine must be
added to the TrustedHosts configuration setting.

Параметр ComputerName New-PSSession Enter-PSSession Invoke-Command командлетов, и принимает IP-адрес как допустимое значение.The ComputerName parameter of the New-PSSession, Enter-PSSession and Invoke-Command cmdlets accepts an IP address as a valid value. Однако так как проверка подлинности Kerberos не поддерживает IP-адреса, проверка подлинности NTLM используется по умолчанию при указании IP-адреса.However, because Kerberos authentication does not support IP addresses, NTLM authentication is used by default whenever you specify an IP address.

При использовании проверки подлинности NTLM для удаленного взаимодействия требуется следующая процедура.When using NTLM authentication, the following procedure is required for remoting.

  1. Настройте компьютер для транспорта HTTPS или добавьте IP-адреса удаленных компьютеров в список TrustedHosts на локальном компьютере.Configure the computer for HTTPS transport or add the IP addresses of the remote computers to the TrustedHosts list on the local computer.

  2. Используйте параметр Credential во всех удаленных командах.Use the Credential parameter in all remote commands.

    Это необходимо даже при отправке учетных данных текущего пользователя.This is required even when you are submitting the credentials of the current user.

Удаленное подключение с компьютера, созданного в Рабочей группеHow to connect remotely from a workgroup-based computer

ERROR: The WinRM client cannot process the request. If the authentication
scheme is different from Kerberos, or if the client computer is not joined to a
domain, then HTTPS transport must be used or the destination machine must be
added to the TrustedHosts configuration setting.

Если локальный компьютер не входит в домен, для удаленного взаимодействия требуется следующая процедура.When the local computer is not in a domain, the following procedure is required for remoting.

  1. Настройте компьютер для транспорта HTTPS или добавьте имена удаленных компьютеров в список TrustedHosts на локальном компьютере.Configure the computer for HTTPS transport or add the names of the remote computers to the TrustedHosts list on the local computer.

  2. Убедитесь, что пароль установлен на компьютере рабочей группы.Verify that a password is set on the workgroup-based computer. Если пароль не задан или значение пароля пусто, то нельзя выполнять удаленные команды.If a password is not set or the password value is empty, you cannot run remote commands.

    Чтобы задать пароль для учетной записи пользователя, используйте учетные записи пользователей в панели управления.To set password for your user account, use User Accounts in Control Panel.

  3. Используйте параметр Credential во всех удаленных командах.Use the Credential parameter in all remote commands.

    Это необходимо даже при отправке учетных данных текущего пользователя.This is required even when you are submitting the credentials of the current user.

Добавление компьютера в список надежных узловHow to add a computer to the trusted hosts list

Элемент TrustedHosts может содержать разделенный запятыми список имен компьютеров, IP-адресов и полных доменных имен.The TrustedHosts item can contain a comma-separated list of computer names, IP addresses, and fully-qualified domain names. Разрешено использовать подстановочные знаки.Wildcards are permitted.

Чтобы просмотреть или изменить список надежных узлов, используйте диск WSMan:.To view or change the trusted host list, use the WSMan: drive. Элемент Трустедхост находится в WSMan:\localhost\Client узле.The TrustedHost item is in the WSMan:\localhost\Client node.

Только члены группы "Администраторы" на компьютере имеют разрешение на изменение списка доверенных узлов на компьютере.Only members of the Administrators group on the computer have permission to change the list of trusted hosts on the computer.

Внимание! значение, заданное для элемента TrustedHosts, влияет на всех пользователей компьютера.Caution: The value that you set for the TrustedHosts item affects all users of the computer.

Чтобы просмотреть список доверенных узлов, используйте следующую команду:To view the list of trusted hosts, use the following command:

Get-Item wsman:\localhost\Client\TrustedHosts

Можно также использовать Set-Location командлет (Alias = CD) для перемещения по адресу WSMan: Drive в расположение.You can also use the Set-Location cmdlet (alias = cd) to navigate though the WSMan: drive to the location. Пример:For example:

cd WSMan:\localhost\Client; dir

Чтобы добавить все компьютеры в список доверенных узлов, используйте следующую команду, которая помещает в ComputerName значение * (ALL).To add all computers to the list of trusted hosts, use the following command, which places a value of * (all) in the ComputerName

Set-Item wsman:localhost\client\trustedhosts -Value *

Можно также использовать подстановочный знак ( * ) для добавления всех компьютеров в определенном домене в список доверенных узлов.You can also use a wildcard character (*) to add all computers in a particular domain to the list of trusted hosts. Например, следующая команда добавляет все компьютеры из домена Fabrikam в список доверенных узлов.For example, the following command adds all of the computers in the Fabrikam domain to the list of trusted hosts.

Set-Item wsman:localhost\client\trustedhosts *.fabrikam.com

Чтобы добавить имена определенных компьютеров в список доверенных узлов, используйте следующий формат команды:To add the names of particular computers to the list of trusted hosts, use the following command format:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <ComputerName>

где каждое значение <ComputerName> должно иметь следующий формат:where each value <ComputerName> must have the following format:

<Computer>.<Domain>.<Company>.<top-level-domain>

Пример:For example:

$server = 'Server01.Domain01.Fabrikam.com'
Set-Item wsman:\localhost\Client\TrustedHosts -Value $server

Чтобы добавить имя компьютера в существующий список доверенных узлов, сначала сохраните текущее значение в переменной, а затем задайте в качестве значения список с разделителями-запятыми, включающий текущие и новые значения.To add a computer name to an existing list of trusted hosts, first save the current value in a variable, and then set the value to a comma-separated list that includes the current and new values.

Например, чтобы добавить компьютер Server01 в существующий список доверенных узлов, используйте следующую команду:For example, to add the Server01 computer to an existing list of trusted hosts, use the following command

$curValue = (Get-Item wsman:\localhost\Client\TrustedHosts).value

Set-Item wsman:\localhost\Client\TrustedHosts -Value `
  "$curValue, Server01.Domain01.Fabrikam.com"

Чтобы добавить IP-адреса определенных компьютеров в список доверенных узлов, используйте следующий формат команды:To add the IP addresses of particular computers to the list of trusted hosts, use the following command format:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <IP Address>

Пример:For example:

Set-Item wsman:\localhost\Client\TrustedHosts -Value 172.16.0.0

Чтобы добавить компьютер в список TrustedHosts на удаленном компьютере, используйте Connect-WSMan командлет, чтобы добавить узел для удаленного компьютера на диск WSMan: на локальном компьютере.To add a computer to the TrustedHosts list of a remote computer, use the Connect-WSMan cmdlet to add a node for the remote computer to the WSMan: drive on the local computer. Затем используйте Set-Item команду, чтобы добавить компьютер.Then use a Set-Item command to add the computer.

Дополнительные сведения о Connect-WSMan командлете см. в разделе Connect-WSMan.For more information about the Connect-WSMan cmdlet, see Connect-WSMan.

Устранение проблем с конфигурацией компьютераTroubleshooting computer configuration issues

В этом разделе обсуждаются проблемы удаленного взаимодействия, связанные с определенными конфигурациями компьютера, домена или предприятия.This section discusses remoting problems that are related to particular configurations of a computer, domain, or enterprise.

Настройка удаленного взаимодействия на альтернативных портахHow to configure remoting on alternate ports

ERROR: The connection to the specified remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Удаленное взаимодействие PowerShell по умолчанию использует порт 80 для транспорта HTTP.PowerShell remoting uses port 80 for HTTP transport by default. Порт по умолчанию используется каждый раз, когда пользователь не задает параметры ConnectionURI или Port в удаленной команде.The default port is used whenever the user does not specify the ConnectionURI or Port parameters in a remote command.

Чтобы изменить порт по умолчанию, используемый PowerShell, используйте Set-Item командлет на диске WSMan:, чтобы изменить значение порта на конечном узле прослушивателя.To change the default port that PowerShell uses, use Set-Item cmdlet in the WSMan: drive to change the Port value in the listener leaf node.

Например, следующая команда изменяет порт по умолчанию на 8080.For example, the following command changes the default port to 8080.

Set-Item wsman:\localhost\listener\listener*\port -Value 8080

Настройка удаленного взаимодействия с помощью прокси-сервераHow to configure remoting with a proxy server

ERROR: The client cannot connect to the destination specified in the request.
Verify that the service on the destination is running and is accepting
requests.

Поскольку удаленное взаимодействие PowerShell использует протокол HTTP, на него влияют параметры HTTP-прокси.Because PowerShell remoting uses the HTTP protocol, it is affected by HTTP proxy settings. В организациях, имеющих прокси-серверы, пользователи не могут напрямую получить доступ к удаленному компьютеру PowerShell.In enterprises that have proxy servers, users cannot access a PowerShell remote computer directly.

Чтобы устранить эту проблему, используйте параметры настройки прокси-сервера в удаленной команде.To resolve this problem, use proxy setting options in your remote command. Доступны следующие параметры.The following settings are available:

  • проксякцесстипеProxyAccessType
  • проксяусентикатионProxyAuthentication
  • ProxyCredentialProxyCredential

Чтобы задать эти параметры для определенной команды, выполните следующую процедуру.To set these options for a particular command, use the following procedure:

  1. Используйте параметры проксякцесстипе , проксяусентикатион и ProxyCredential New-PSSessionOption командлета, чтобы создать объект параметров сеанса с параметрами прокси-сервера для вашей организации.Use the ProxyAccessType , ProxyAuthentication , and ProxyCredential parameters of the New-PSSessionOption cmdlet to create a session option object with the proxy settings for your enterprise. Сохраните объект параметра — это переменная.Save the option object is a variable.

  2. Используйте переменную, содержащую объект Option, в качестве значения параметра SessionOption New-PSSession Enter-PSSession команды, или Invoke-Command .Use the variable that contains the option object as the value of the SessionOption parameter of a New-PSSession, Enter-PSSession, or Invoke-Command command.

Например, следующая команда создает объект параметра сеанса с параметрами сеанса прокси-сервера, а затем использует объект для создания удаленного сеанса.For example, the following command creates a session option object with proxy session options and then uses the object to create a remote session.

$SessionOption = New-PSSessionOption -ProxyAccessType IEConfig `
-ProxyAuthentication Negotiate -ProxyCredential Domain01\User01

New-PSSession -ConnectionURI https://www.fabrikam.com

Дополнительные сведения о New-PSSessionOption командлете см. в разделе New-PSSessionOption.For more information about the New-PSSessionOption cmdlet, see New-PSSessionOption.

Чтобы задать эти параметры для всех удаленных команд в текущем сеансе, используйте объект параметра, который New-PSSessionOption создает в значении $PSSessionOption переменной предпочтений.To set these options for all remote commands in the current session, use the option object that New-PSSessionOption creates in the value of the $PSSessionOption preference variable. Дополнительные сведения см. в разделе about_Preference_Variables.For more information, see about_Preference_Variables.

Чтобы задать эти параметры для всех удаленных команд, всех сеансов PowerShell на локальном компьютере, добавьте $PSSessionOption переменную предпочтений в профиль PowerShell.To set these options for all remote commands all PowerShell sessions on the local computer, add the $PSSessionOption preference variable to your PowerShell profile. Дополнительные сведения о профилях PowerShell см. в разделе about_Profiles.For more information about PowerShell profiles, see about_Profiles.

Обнаружение 32-разрядного сеанса на 64-разрядном компьютереHow to detect a 32-bit session on a 64-bit computer

ERROR: The term "<tool-Name>" is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.

Если удаленный компьютер работает под управлением 64-разрядной версии Windows, а удаленная команда использует конфигурацию с 32-битным сеансом, например Microsoft. PowerShell32, служба удаленного управления Windows (WinRM) загружает процесс WOW64 и Windows автоматически перенаправляет все ссылки на $env:Windir\System32 каталог в $env:Windir\SysWOW64 каталог.If the remote computer is running a 64-bit version of Windows, and the remote command is using a 32-bit session configuration, such as Microsoft.PowerShell32, Windows Remote Management (WinRM) loads a WOW64 process and Windows automatically redirects all references to the $env:Windir\System32 directory to the $env:Windir\SysWOW64 directory.

В результате, если вы попытаетесь использовать в каталоге System32 средства, не имеющие аналога в каталоге SysWow64, например Defrag.exe , эти средства не найдены в каталоге.As a result, if you try to use tools in the System32 directory that do not have counterparts in the SysWow64 directory, such as Defrag.exe, the tools cannot be found in the directory.

Чтобы найти архитектуру процессора, используемую в сеансе, используйте значение переменной среды PROCESSOR_ARCHITECTURE .To find the processor architecture that is being used in the session, use the value of the PROCESSOR_ARCHITECTURE environment variable. Следующая команда находит архитектуру процессора для сеанса в $s переменной.The following command finds the processor architecture of the session in the $s variable.

$s = New-PSSession -ComputerName Server01 -ConfigurationName CustomShell
Invoke-Command -Session $s {$env:PROCESSOR_ARCHITECTURE}
x86

Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.For more information about session configurations, see about_Session_Configurations.

Устранение проблем политики и предпочтенийTroubleshooting policy and preference issues

В этом разделе обсуждаются проблемы удаленного взаимодействия, связанные с политиками и предпочтениями, заданными на локальном и удаленном компьютерах.This section discusses remoting problems that are related to policies and preferences set on the local and remote computers.

Изменение политики выполнения для Import-PSSession и Import-ModuleHow to change the execution policy for Import-PSSession and Import-Module

ERROR: Import-Module: File <filename> cannot be loaded because the
execution of scripts is disabled on this system.

Import-PSSession Export-PSSession Командлеты и создают модули, которые содержат неподписанные файлы скриптов и файлы форматирования.The Import-PSSession and Export-PSSession cmdlets create modules that contains unsigned script files and formatting files.

Чтобы импортировать модули, созданные этими командлетами, с помощью Import-PSSession или Import-Module , политика выполнения в текущем сеансе не может быть ограничена или AllSigned.To import the modules that are created by these cmdlets, either by using Import-PSSession or Import-Module, the execution policy in the current session cannot be Restricted or AllSigned. Дополнительные сведения о политиках выполнения PowerShell см. в разделе about_Execution_Policies.For information about PowerShell execution policies, see about_Execution_Policies.

Чтобы импортировать модули без изменения политики выполнения для локального компьютера, установленного в реестре, используйте параметр Scope параметра, Set-ExecutionPolicy чтобы задать менее ограниченную политику выполнения для одного процесса.To import the modules without changing the execution policy for the local computer that is set in the registry, use the Scope parameter of Set-ExecutionPolicy to set a less restrictive execution policy for a single process.

Например, следующая команда запускает процесс с RemoteSigned политикой выполнения.For example, the following command starts a process with the RemoteSigned execution policy. Изменение политики выполнения влияет только на текущий процесс и не изменяет параметр реестра PowerShell ExecutionPolicy .The execution policy change affects only the current process and does not change the PowerShell ExecutionPolicy registry setting.

Set-ExecutionPolicy -Scope process -ExecutionPolicy RemoteSigned

Кроме того, с помощью параметра ExecutionPolicy можно PowerShell.exe запустить один сеанс с менее ограниченной политикой выполнения.You can also use the ExecutionPolicy parameter of PowerShell.exe to start a single session with a less restrictive execution policy.

PowerShell.exe -ExecutionPolicy RemoteSigned

Дополнительные сведения о политиках выполнения см. в разделе about_Execution_Policies.For more information about execution policies, see about_Execution_Policies. Для получения дополнительных сведений введите PowerShell.exe -?.For more information, type PowerShell.exe -?.

Как задать и изменить квотыHow to set and change quotas

ERROR: The total data received from the remote client exceeded allowed
maximum.

Квоты можно использовать для защиты локального компьютера и удаленного компьютера от чрезмерного использования ресурсов, как случайных, так и вредоносных.You can use quotas to protect the local computer and the remote computer from excessive resource use, both accidental and malicious.

В базовой конфигурации доступны следующие квоты.The following quotas are available in the basic configuration.

  • Поставщик WSMan (WSMan:) предоставляет несколько параметров квот, таких как параметры максенвелопесизекб и макспровидеррекуестс в узле, WSMan:<ComputerName> а также параметры максконкуррентоператионс , свойств maxconcurrentoperationsperuser и MaxConnections в WSMan:<ComputerName>\Service узле.The WSMan provider (WSMan:) provides several quota settings, such as the MaxEnvelopeSizeKB and MaxProviderRequests settings in the WSMan:<ComputerName> node and the MaxConcurrentOperations , MaxConcurrentOperationsPerUser , and MaxConnections settings in the WSMan:<ComputerName>\Service node.

  • Защитить локальный компьютер можно с помощью параметров максимумрецеиведдатасизеперкомманд и максимумрецеиведобжектсизе New-PSSessionOption командлета и $PSSessionOption переменной предпочтений.You can protect the local computer by using the MaximumReceivedDataSizePerCommand and MaximumReceivedObjectSize parameters of the New-PSSessionOption cmdlet and the $PSSessionOption preference variable.

  • Защитить удаленный компьютер можно, добавив ограничения в конфигурации сеанса, например с помощью параметров максимумрецеиведдатасизеперкоммандмб и максимумрецеиведобжектсиземб Register-PSSessionConfiguration командлета.You can protect the remote computer by adding restrictions to the session configurations, such as by using the MaximumReceivedDataSizePerCommandMB and MaximumReceivedObjectSizeMB parameters of the Register-PSSessionConfiguration cmdlet.

При конфликте квот с помощью команды PowerShell создает ошибку.When quotas conflict with a command, PowerShell generates an error.

Чтобы устранить эту ошибку, измените удаленную команду так, чтобы она соответствовала квоте.To resolve the error, change the remote command to comply with the quota. Или определите источник квоты, а затем увеличьте квоту, чтобы завершить выполнение команды.Or, determine the source of the quota, and then increase the quota to allow the command to complete.

Например, следующая команда увеличивает квоту размера объекта в конфигурации сеанса Microsoft. PowerShell на удаленном компьютере с 10 МБ (значение по умолчанию) до 11 МБ.For example, the following command increases the object size quota in the Microsoft.PowerShell session configuration on the remote computer from 10 MB (the default value) to 11 MB.

Set-PSSessionConfiguration -Name microsoft.PowerShell `
  -MaximumReceivedObjectSizeMB 11 -Force

Дополнительные сведения о New-PSSessionOption командлете см. в разделе New-PSSessionOption .For more information about the New-PSSessionOption cmdlet, see New-PSSessionOption.

Дополнительные сведения о WS-Management квотах см. в разделе about_WSMan_Provider.For more information about the WS-Management quotas, see about_WSMan_Provider.

Устранение ошибок времени ожиданияHow to resolve timeout errors

ERROR: The WS-Management service cannot complete the operation within
the time specified in OperationTimeout.

Можно использовать время ожидания для защиты локального компьютера и удаленного компьютера от чрезмерного использования ресурсов, как случайных, так и вредоносных.You can use timeouts to protect the local computer and the remote computer from excessive resource use, both accidental and malicious. Если время ожидания задано как на локальном, так и на удаленном компьютере, PowerShell использует самые короткие параметры времени ожидания.When timeouts are set on both the local and remote computer, PowerShell uses the shortest timeout settings.

В базовой конфигурации доступны следующие тайм-ауты.The following timeouts are available in the basic configuration.

  • Поставщик WSMan (WSMan:) предоставляет несколько параметров времени ожидания на стороне клиента и службы, например параметр макстимеаутмс в WSMan:<ComputerName> узле и параметры енумератионтимеаутмс и макспаккетретриевалтимесекондс в WSMan:<ComputerName>\Service узле.The WSMan provider (WSMan:) provides several client-side and service-side timeout settings, such as the MaxTimeoutms setting in the WSMan:<ComputerName> node and the EnumerationTimeoutms and MaxPacketRetrievalTimeSeconds settings in the WSMan:<ComputerName>\Service node.

  • Защитить локальный компьютер можно с помощью параметров канцелтимеаут , IdleTimeout , OpenTimeout и OperationTimeout New-PSSessionOption командлета и $PSSessionOption переменной предпочтений.You can protect the local computer by using the CancelTimeout , IdleTimeout , OpenTimeout , and OperationTimeout parameters of the New-PSSessionOption cmdlet and the $PSSessionOption preference variable.

  • Кроме того, можно защитить удаленный компьютер, задавая значения времени ожидания программным способом в конфигурации сеанса для сеанса.You can also protect the remote computer by setting timeout values programmatically in the session configuration for the session.

Если значение времени ожидания не позволяет завершить операцию, PowerShell завершает операцию и создает ошибку.When a timeout value does not permit a operation to complete, PowerShell terminates the operation and generates an error.

Чтобы устранить эту ошибку, измените команду для завершения в течение интервала времени ожидания или определите источник предельного времени ожидания и Увеличьте интервал времени ожидания, чтобы завершить выполнение команды.To resolve the error, change the command to complete within the timeout interval or determine the source of the timeout limit and increase the timeout interval to allow the command to complete.

Например, следующие команды используют New-PSSessionOption командлет для создания объекта параметра сеанса со значением OperationTimeout , равным 4 минутам (в мс), а затем используйте объект параметра сеанса для создания удаленного сеанса.For example, the following commands use the New-PSSessionOption cmdlet to create a session option object with an OperationTimeout value of 4 minutes (in MS) and then use the session option object to create a remote session.

$pso = New-PSSessionoption -OperationTimeout 240000

New-PSSession -ComputerName Server01 -sessionOption $pso

Дополнительные сведения об истечении времени ожидания WS-Management см. в разделе справки по поставщику WSMan (тип Get-Help WSMan ).For more information about the WS-Management timeouts, see the Help topic for the WSMan provider (type Get-Help WSMan).

Дополнительные сведения о New-PSSessionOption командлете см. в разделе New-PSSessionOption.For more information about the New-PSSessionOption cmdlet, see New-PSSessionOption.

Устранение неполадок при неотвечающем взаимодействияхTroubleshooting unresponsive behavior

В этом разделе обсуждаются проблемы удаленного взаимодействия, препятствующие выполнению команды и предотвращению или задержке возврата командной строки PowerShell.This section discusses remoting problems that prevent a command from completing and prevent or delay the return of the PowerShell prompt.

Прерывание командыHow to interrupt a command

Некоторые программы Windows, такие как программы с пользовательским интерфейсом, консольные приложения, запрашивающие ввод, и консольные приложения, использующие API консоли Win32, не работают должным образом на удаленном узле PowerShell.Some native Windows programs, such as programs with a user interface, console applications that prompt for input, and console applications that use the Win32 console API, do not work correctly in the PowerShell remote host.

При использовании этих программ может возникнуть непредвиденное поведение, например отсутствие выходных данных, частичный вывод или удаленная команда, которая не завершена.When you use these programs, you might see unexpected behavior, such as no output, partial output, or a remote command that does not complete.

Чтобы завершить работу программы, не отвечающей, введите CTRL + C.To end an unresponsive program, type CTRL+C. Чтобы просмотреть сообщения об ошибках, которые могли быть получены, введите $error локальный узел и удаленный сеанс.To view any errors that might have been reported, type $error in the local host and the remote session.

Восстановление после сбоя операцииHow to recover from an operation failure

ERROR: The I/O operation has been aborted because of either a thread exit
or an  application request.

Эта ошибка возвращается в случае завершения операции до ее завершения.This error is returned when an operation is terminated before it completes. Как правило, это происходит, когда служба WinRM останавливается или перезапускается во время выполнения других операций WinRM.Typically, it occurs when the WinRM service stops or restarts while other WinRM operations are in progress.

Чтобы устранить эту проблему, убедитесь, что служба WinRM запущена, и повторите команду.To resolve this issue, verify that the WinRM service is running and try the command again.

  1. Запустите PowerShell с параметром Запуск от имени администратора .Start PowerShell with the Run as administrator option.

  2. Выполните следующую команду:Run the following command:

    Start-Service WinRM

  3. Повторно выполните команду, вызвавшую ошибку.Re-run the command that generated the error.

Ограничения Linux и macOSLinux and macOS limitations

АутентификацияAuthentication

В macOS работает только обычная проверка подлинности, и попытка использовать другие схемы проверки подлинности может привести к сбою процесса.Only basic authentication works on macOS and attempting to use other authentication schemes may result in the process crashing.

Ознакомьтесь с инструкциями по проверке подлинности OMI .Please see the OMI authentication instructions.

СМ. ТАКЖЕSEE ALSO

Import-PSSessionImport-PSSession

Export-PSSessionExport-PSSession

Import-ModuleImport-Module

about_Remoteabout_Remote

about_Remote_Requirementsabout_Remote_Requirements

about_Remote_Variablesabout_Remote_Variables