РАЗДЕЛ
about_Remote_Troubleshooting
КРАТКОЕ ОПИСАНИЕ
Описывает, как устранять неполадки удаленных операций в
Windows PowerShell.
ПОЛНОЕ ОПИСАНИЕ
В этом разделе описаны некоторые неполадки, которые могут
возникнуть при использовании функций удаленного взаимодействия
Windows PowerShell, основанных не технологии WS-Management, и
приводятся рекомендации по устранению этих неполадок.
Перед использованием функций удаленного взаимодействия Windows
PowerShell ознакомьтесь с разделами about_Remote и about_Remote_Requirements,
чтобы получить инструкции по настройке и выполнению базовых
операций. Кроме того, в разделах справки по каждому из
командлетов, в особенности в описаниях операций, содержатся
полезные сведения, помогающие избежать неполадок.
Обновленные версии этого, а также других разделов справки по
Windows PowerShell, доступны в Интернете в библиотеке Microsoft
TechNet. Чтобы открыть интернет-версию этого раздела справки,
вставьте в интернет-браузер следующий URL-адрес:
https://go.microsoft.com/fwlink/?LinkID=135188
ПРИМЕЧАНИЕ. В Windows Vista, Windows Server 2008 и более поздних
версиях Windows для просмотра и изменения параметров локального
компьютера на диске WSMan:, в том числе конфигурации сеансов,
доверенных узлов, портов и прослушивателей, запускайте Windows
PowerShell в режиме "Запуск от имени администратора".
УСТРАНЕНИЕ НЕПОЛАДОК, СВЯЗАННЫХ С РАЗРЕШЕНИЯМИ И ПРОВЕРКОЙ
ПОДЛИННОСТИ
В этом разделе описаны неполадки удаленного взаимодействия,
связанные с разрешениями пользователей и компьютеров и
требованиями удаленного взаимодействия.
ВЫПОЛНЕНИЕ ОПЕРАЦИЙ ОТ ИМЕНИ АДМИНИСТРАТОРА
---------------------------
ОШИБКА. Доступ запрещен. Необходимо запустить этот командлет
из повышенного процесса.
Для запуска удаленного сеанса на локальном компьютере или
просмотра и изменения параметров локального компьютера на диске
WSMan:, в том числе конфигурации сеансов, доверенных узлов,
портов и прослушивателей, запустите Windows PowerShell в режиме
"Запуск от имени администратора".
Запуск Windows PowerShell в режиме "Запуск от имени администратора"
-- Щелкните правой кнопкой мыши значок Windows PowerShell (или
Windows PowerShell ISE) и выберите пункт "Запуск от имени администратора".
Запуск Windows PowerShell в режиме "Запуск от имени
администратора" в Windows 7 и Windows Server 2008 R2
-- На панели задач Windows щелкните правой кнопкой мыши значок
Windows PowerShell и выберите команду "Запустить Windows
PowerShell от имени администратора".
Примечание. В Windows Server 2008 R2 значок Windows PowerShell по
умолчанию закреплен на панели задач.
ВКЛЮЧЕНИЕ УДАЛЕННОГО ВЗАИМОДЕЙСТВИЯ
----------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
- либо -
ОШИБКА. В подключении к указанному удаленному узлу отказано.
Убедитесь, что на удаленном узле служба WS-Management
запущена и настроена на прослушивание запросов с
использованием правильного порта и URL-адреса HTTP.
Чтобы компьютер мог отправлять удаленные команды, никакая
настройка не требуется. Однако для получения удаленных команд
компьютер необходимо настроить, чтобы он поддерживал удаленное
взаимодействие. Процедура настройки включает запуск службы
WinRM, установку типа запуска "Авто" для службы WinRM, создание
прослушивателей для подключений HTTP и HTTPS, а также создание
конфигураций сеансов по умолчанию.
Чтобы настроить на компьютере получение удаленных команд,
воспользуйтесь командлетом Enable-PSRemoting. Следующая команда
включает все необходимые параметры удаленного взаимодействия,
активирует конфигурации сеансов и перезапускает службу WinRM,
чтобы изменения вступили в силу.
enable-psremoting
Чтобы подавить все запросы подтверждения, введите
следующую команду:
enable-psremoting -force
Дополнительные сведения см. в разделе Enable-PSRemoting.
ВКЛЮЧЕНИЕ УДАЛЕННОГО ВЗАИМОДЕЙСТВИЯ НА ПРЕДПРИЯТИИ
---------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
- либо -
ОШИБКА. В подключении к указанному удаленному узлу отказано.
Убедитесь, что на удаленном узле служба WS-Management
запущена и настроена на прослушивание запросов с
использованием правильного порта и URL-адреса HTTP.
Чтобы включить возможность получения удаленных команд Windows
PowerShell и приема подключений на одном компьютере,
воспользуйтесь командлетом Enable-PSRemoting.
Чтобы включить удаленное взаимодействие на нескольких компьютерах
предприятия, можно воспользоваться следующими масштабированными процедурами.
-- Чтобы настроить прослушиватели для удаленного взаимодействия,
включите групповую политику "Разреить автоматическую настройку
прослушивателей". Инструкции см. в ниже в разделе "Включение
прослушивателей с помощью групповой политики".
-- Чтобы установить тип запуска "Авто" для службы удаленного
управления Windows (WinRM), воспользуйтесь командлетом
Set-Service. Инструкции см. ниже в разделе "Установка типа запуска
службы WinRM"
-- Чтобы включить исключение брандмауэра, воспользуйтесь групповой
политикой "Брандмауэр Windows: Разрешать локальные исключения
для портов". Инструкции см. в ниже в разделе "Создание
исключения брандмауэра с помощью групповой политики".
ВКЛЮЧЕНИЕ ПРОСЛУШИВАТЕЛЕЙ С ПОМОЩЬЮ ГРУППОВОЙ ПОЛИТИКИ
------------------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
- либо -
ОШИБКА. В подключении к указанному удаленному узлу отказано.
Убедитесь, что на удаленном узле служба WS-Management
запущена и настроена на прослушивание запросов с
использованием правильного порта и URL-адреса HTTP.
Чтобы настроить прослушиватели для всех компьютеров в домене,
включите политику "Разрешить автоматическую настройку прослушивателей" по
следующему пути групповых политик:
Конфигурация компьютера\Административные аблоны\Компоненты Windows
\Удаленное управление Windows (WinRM)\Служба WinRM.
Включите политику и укажите фильтры IPv4 и IPv6. Подстановочные
знаки (*) разрешены.
ВКЛЮЧЕНИЕ ИСКЛЮЧЕНИЯ БРАНДМАУЭРА С ПОМОЩЬЮ ГРУППОВОЙ ПОЛИТИКИ
----------------------------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
- либо -
ОШИБКА. В подключении к указанному удаленному узлу отказано.
Убедитесь, что на удаленном узле служба WS-Management
запущена и настроена на прослушивание запросов с
использованием правильного порта и URL-адреса HTTP.
Чтобы включить исключение брандмауэра на всех компьютерах домена,
включите политику "Брандмауэр Windows: Разрешать локальные исключения для портов" по
следующему пути групповых политик:
Конфигурация компьютера\Административные аблоны\Сеть\Сетевые
подключения\Брандмауэр Windows\Профиль домена
Эта политика разрешает членам группы "Администраторы" на
компьютере использовать брандмауэр Windows в панели управления,
чтобы создавать исключения брандмауэра для службы удаленного
управления Windows.
УСТАНОВКА ТИПА ЗАПУСКА "АВТО" ДЛЯ СЛУЖБЫ WINRM.
------------------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
При удаленном взаимодействии Windows PowerShell используется
служба удаленного управления Windows (WinRM). Для поддержки
удаленных команд эта служба должна быть запущена.
В Windows Server 2003, Windows Server 2008 и Windows Server 2008
R2 для службы удаленного управления Windows (WinRM) используется
тип запуска "Авто".
Однако в Windows XP, Windows Vista и Windows 7 служба WinRM по
умолчанию отключена.
Чтобы установить тип запуска службы на удаленном компьютере,
воспользуйтесь командлетом Set-Service.
Для выполнения команды на нескольких компьютерах можно создать
текстовый или CSV-файл с именами компьютеров.
Например, следующая команда получает список компьютеров
из файла Servers.txt, а затем устанавливает тип запуска "Авто"
для службы WinRM на всех компьютерах.
C:\PS> $servers = get-content servers.txt
C:\PS> set-service WinRM -computername $servers -startuptype Automatic
Чтобы увидеть результаты, воспользуйтесь командлетом Get-WMIObject
с объектом Win32_Service. Дополнительные сведения см. в разделе Set-Service.
ВОССОЗДАНИЕ КОНФИГУРАЦИЙ СЕАНСОВ ПО УМОЛЧАНИЮ
--------------------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
Чтобы подключиться к локальному компьютеру и выполнять команды
удаленно, локальный компьютер должен содержать конфигурации
сеансов для удаленных команд.
Командлет Enable-PSRemoting создает на локальном компьютере
конфигурации сеансов по умолчанию. Удаленные пользователи
применяют эти конфигурации сеансов каждый раз, когда удаленная
команда не содержит параметра ConfigurationName.
Если конфигурации по умолчанию не зарегистрированы на компьютере
или были удалены, воспользуйтесь командлетом Enable-PSRemoting,
чтобы создать их заново. Этот командлет можно использовать
повторно. Если компонент уже настроен, ошибки не создаются.
Если конфигурации сеансов по умолчанию были изменены и требуется восстановить
исходные конфигурации сеансов по умолчанию, с помощью командлета
Unregister-PSSessionConfiguration удалите измененные конфигурации
сеансов, а затем с помощью командлета Enable-PSRemoting
восстановите их. Командлет Enable-PSRemoting не изменяет
имеющиеся конфигурации сеансов.
Примечание. Когда командлет Enable-PSRemoting восстанавливает
конфигурации сеансов по умолчанию, он не создает явные
дескрипторы безопасности для этих конфигураций. Вместо этого
конфигурации наследуют дескриптор безопасности элемента
RootSDDL, который является защищенным по умолчанию.
Чтобы увидеть дескриптор безопасности RootSDDL, введите команду:
get-item wsman:\localhost\Service\RootSDDL
Чтобы изменить элемент RootSDDL, воспользуйтесь командлетом
Set-Item на диске WSMan:. Чтобы изменить дескриптор безопасности
конфигурации сеанса, воспользуйтесь командлетом Set-PSSessionConfiguration с
параметром SecurityDescriptorSDDL или ShowSecurityDescriptorUI.
Дополнительные сведения о диске WSMan: см. в разделе справки,
посвященной поставщику WS-Management ("get-help wsman").
ПРЕДОСТАВЛЕНИЕ УЧЕТНЫХ ДАННЫХ АДМИНИСТРАТОРА
----------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
Для создания сеанса PSSession или выполнения команд на удаленном
компьютере по умолчанию текущий пользователь должен быть членом
группы "Администраторы" на удаленном компьютере. Иногда
требуется указывать учетные данные, даже если текущий
пользователь является членом группы "Администраторы".
Если текущий пользователь является членом группы "Администраторы"
на удаленном компьютере или может указать учетные данные члена
группы "Администраторы", воспользуйтесь для удаленного
подключения параметром Credential командлета New-PSSession,
Enter-PSSession или Invoke-Command.
Например, в следующей команде задаются учетные
данные администратора.
Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01
Дополнительные сведения о параметре Credential см. в разделе
New-PSSession, Enter-PSSession или Invoke-Command.
ВКЛЮЧЕНИЕ УДАЛЕННОГО ВЗАИМОДЕЙСТВИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ, НЕ
ЯВЛЯЮЩИХСЯ АДМИНИСТРАТОРАМИ
---------------------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
Для создания сеанса PSSession или выполнения команды на удаленном
компьютере пользователю требуется разрешение на использование
конфигураций сеансов на удаленном компьютере.
По умолчанию только члены группы "Администраторы" на компьютере
имеют разрешение на использование конфигураций сеансов по
умолчанию. Поэтому только члены группы "Администраторы" могут
удаленно подключаться к компьютеру.
Чтобы разрешить другим пользователям подключаться к локальному
компьютеру, предоставьте разрешение на запуск для конфигураций
сеансов по умолчанию на локальном компьютере.
Следующая команда открывает лист свойств, позволяющий изменять
дескриптор безопасности конфигурации сеанса Microsoft.PowerShell
по умолчанию на локальном компьютере.
Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI
Дополнительные сведения см. в разделе about_Session_Configurations.
ВКЛЮЧЕНИЕ УДАЛЕННОГО ВЗАИМОДЕЙСТВИЯ ДЛЯ АДМИНИСТРАТОРОВ В ДРУГИХ
ДОМЕНАХ
----------------------------------------------------------
ОШИБКА. ДОСТУП ЗАПРЕЩЕН
Если пользователь из другого домена является членом группы
"Администраторы" на локальном компьютере, он не может удаленно
подключаться к локальному компьютеру с правами администратора.
По умолчанию удаленные подключения из других документов
запускаются только с токенами разрешений обычного пользователя.
Однако с помощью параметра реестра LocalAccountTokenFilterPolicy
можно изменить поведение по умолчанию и разрешить удаленным
пользователям, входящим в группу "Администраторы", выполнять
операции с правами администратора.
Внимание! Параметр реестра LocalAccountTokenFilterPolicy отключает
ограничения на удаленное взаимодействие функции контроля
учетных записей для всех пользователей на всех затрагиваемых
компьютерах. Перед изменением политики внимательно изучите
возможные последствия.
Чтобы изменить политику, воспользуйтесь следующей командой,
устанавливающей для параметра реестра LocalAccountTokenFilterPolicy
значение 1.
C:\PS> new-itemproperty -name LocalAccountTokenFilterPolicy -path `
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies
\System -propertyType `DWord -value 1
ИСПОЛЬЗОВАНИЕ В УДАЛЕННОЙ КОМАНДЕ IP-АДРЕСА
-----------------------------------------------------
ОШИБКА. Клиенту WinRM не удается обработать запрос. Если
применяемая схема проверки подлинности отличается от
Kerberos или компьютер клиента не входит в домен, необходимо
использовать транспорт HTTPS или добавить компьютер
назначения к значениям параметра конфигурации TrustedHosts.
Параметр ComputerName командлетов New-PSSession, Enter-PSSession и
Invoke-Command принимает в качестве допустимого значения
IP-адрес. Но поскольку проверка подлинности Kerberos не
поддерживает IP-адреса, в случае указания IP-адреса по умолчанию
используется проверка подлинности NTLM.
В случае использования проверки подлинности NTLM для удаленного взаимодействия
необходимо выполнить следующие действия.
1. Настройте на компьютере использование транспорта HTTPS или
добавьте IP-адреса удаленных компьютеров в список
TrustedHosts на локальном компьютере.
Инструкции см. ниже в разделе "Добавление компьютера в список TrustedHosts".
2. Во всех удаленных командах используйте параметр Credential.
Это необходимо даже в том случае, если указываются учетные
данные текущего пользователя.
УДАЛЕННОЕ ПОДКЛЮЧЕНИЕ С КОМПЬЮТЕРА, ВХОДЯЩЕГО В РАБОЧУЮ ГРУППУ
-------------------------------------------------------
ОШИБКА. Клиенту WinRM не удается обработать запрос. Если
применяемая схема проверки подлинности отличается от
Kerberos или компьютер клиента не входит в домен, необходимо
использовать транспорт HTTPS или добавить компьютер
назначения к значениям параметра конфигурации TrustedHosts.
Если локальный компьютер не входит в домен, для удаленного
взаимодействия необходимо выполнить следующие действия.
1. Настройте на компьютере использование транспорта HTTPS или
добавьте имена удаленных компьютеров в список TrustedHosts
на локальном компьютере.
Инструкции см. ниже в разделе "Добавление компьютера в список TrustedHosts".
2. Проверьте, что на входящем в рабочую группу компьютере задан
пароль. Если пароль не задан или пуст, выполнять удаленные
команды невозможно.
Чтобы задать пароль для учетной записи пользователя,
воспользуйтесь элементом "Учетные записи пользователей"
панели управления.
3. Во всех удаленных командах используйте параметр Credential.
Это необходимо даже в том случае, если указываются учетные
данные текущего пользователя.
ДОБАВЛЕНИЕ КОМПЬЮТЕРА В СПИСОК TRUSTEDHOSTS
-----------------------------------------------
Элемент TrustedHosts может содержать список разделенных запятыми
имен компьютеров, IP-адресов и полных доменных имен.
Подстановочные знаки разрешены.
Для просмотра и изменения списка доверенных узлов, воспользуйтесь
диском WSMan:. Элемент TrustedHost расположен в узле WSMan:\localhost\Client.
Только члены группы "Администраторы" на компьютере имеют
разрешение на изменение списка доверенных узлов на компьютере.
Внимание! Действие значения, заданного в элементе TrustedHosts,
распространяется на всех пользователей компьютера.
Для просмотра списка доверенных узлов необходимо использовать
следующую команду:
get-item wsman:\localhost\Client\TrustedHosts
Кроме того, можно с помощью командлета Set-Location (псевдоним cd)
перейти к нужному расположению на диске WSMan:.
Пример: "cd WSMan:\localhost\Client; dir".
Чтобы добавить в список доверенных узлов все компьютеры,
воспользуйтесь следующей командой, в которой для параметра
ComputerName задано значение * (все).
set-item wsman:localhost\client\trustedhosts -value *
Кроме того, с помощью подстановочного знака (*) можно добавить в
список доверенных узлов все компьютеры из определенного домена.
Например, следующая команда добавляет в список доверенных узлов
все компьютеры из домена Fabrikam.
set-item wsman:localhost\client\trustedhosts *.fabrikam.com
Чтобы добавить в список доверенных узлов имена отдельных
компьютеров, необходимо использовать следующий формат команд:
set-item wsman:\localhost\Client\TrustedHosts -value <имя_компьютера>[,<имя_компьютера>]
Здесь каждое значение <имя_компьютера> должно иметь
следующий формат:
<компьютер>.<домен>.<компания>.<домен_верхнего_уровня>
Пример:
set-item wsman:\localhost\Client\TrustedHosts -value Server01.Domain01.Fabrikam.com
Чтобы добавить имя компьютера в имеющийся список доверенных узлов,
необходимо сначала сохранить текущее значение в переменной, а
затем присвоить значение разделенному запятыми списку, который
включает текущее и новое значения.
Например, чтобы добавить компьютер Server01 в имеющийся список
доверенных узлов, воспользуйтесь следующей командой:
$curValue = (get-item wsman:\localhost\Client\TrustedHosts).value
set-item wsman:\localhost\Client\TrustedHosts -value "$curValue, Server01.Domain01.Fabrikam.com"
Чтобы добавить в список доверенных узлов IP-адреса отдельных
компьютеров, необходимо использовать следующий формат команд:
set-item wsman:\localhost\Client\TrustedHosts -value <IP-адрес>
Пример:
set-item wsman:\localhost\Client\TrustedHosts -value 172.16.0.0
Чтобы добавить компьютер в список TrustedHosts удаленного
компьютера, с помощью командлета Connect-WSMan добавьте узел
удаленного компьютера на диск WSMan: локального компьютера.
После этого добавьте компьютер с помощью команды Set-Item.
Дополнительные сведения о командлете Connect-WSMan см. в разделе Connect-WSMan.
УСТРАНЕНИЕ НЕПОЛАДОК, СВЯЗАННЫХ С КОНФИГУРАЦИЕЙ КОМПЬЮТЕРОВ
В этом разделе описаны неполадки удаленного управления, связанные
с конкретными конфигурациями компьютеров, доменов
или предприятия.
НАСТРОЙКА УДАЛЕННОГО ВЗАИМОДЕЙСТВИЯ ЧЕРЕЗ АЛЬТЕРНАТИВНЫЕ ПОРТЫ
--------------------------------------------
ОШИБКА. В подключении к указанному удаленному узлу отказано.
Убедитесь, что на удаленном узле служба WS-Management
запущена и настроена на прослушивание запросов с
использованием правильного порта и URL-адреса HTTP.
По умолчанию при удаленном взаимодействии Windows PowerShell для
транспорта HTTP используется порт 80. Порт по умолчанию
используется всегда, когда пользователь не указывает в удаленной
команде параметр ConnectionURI или Port.
Чтобы изменить порт, используемый в Windows PowerShell по
умолчанию, с помощью командлета Set-Item на диске WSMan:
измените значение Port в конечном узле прослушивателя.
Например, следующая команда изменяет порт по умолчанию на 8080.
set-item wsman:\localhost\listener\listener*\port -value 8080
НАСТРОЙКА УДАЛЕННОГО ВЗАИМОДЕЙСТВИЯ С ИСПОЛЬЗОВАНИЕМ ПРОКСИ-СЕРВЕРА
---------------------------------------------
ОШИБКА. Клиенту не удается подключиться к узлу назначения,
указанному в запросе. Убедитесь, что служба на узле
назначения работает и принимает запросы.
Поскольку при удаленном взаимодействии Windows PowerShell
используется протокол HTTP, также действуют параметры прокси
HTTP. На предприятиях, применяющих прокси-серверы, пользователи
не могут напрямую обращаться к удаленному компьютеру
Windows PowerShell.
Чтобы решить эту проблему, необходимо использовать в удаленных
командах параметры прокси-серверов. Доступны следующие параметры.
-- ProxyAccessType
-- ProxyAuthentication
-- ProxyCredential
Чтобы задать эти параметры для определенной команды, используйте
описанную ниже процедуру.
1. С помощью параметров ProxyAccessType, ProxyAuthentication и
ProxyCredential командлета New-PSSessionOption создайте
объект параметра сеанса, содержащий параметры прокси
-сервера предприятия. Сохраните объект параметра
в переменной.
2. Используйте переменную, содержащую объект параметра, в
качестве значения параметра SessionOption команды
New-PSSession, Enter-PSSession или Invoke-Command.
Например, следующая команда создает объект параметра сеанса с
параметрами сеанса прокси, а затем создает с помощью этого
объекта удаленный сеанс.
C:\PS> $SessionOption = New-PSSessionOption -ProxyAccessTypeIEConfig `
-ProxyAuthentication Negotiate -ProxyCredential Domain01\User01
C:\PS> New-PSSession -ConnectionURI https://www.fabrikam.com
Дополнительные сведения о командлете New-PSSessionOption см. в
разделе New-PSSessionOption.
Чтобы задать эти параметры для всех удаленных команд в текущем
сеансе, используйте объект параметра, созданный с помощью
командлета New-PSSessionOption, в качестве значения привилегированной
переменной $PSSessionOption. Дополнительные сведения о привилегированной
переменной $PSSessionOption см. в разделе
about_Preference_Variables.
Чтобы задать эти параметры для всех удаленных команд во всех
сеансах Windows PowerShell на локальном компьютере, добавьте
привилегированную переменную $PSSessionOption в профиль Windows PowerShell.
Дополнительные сведения о профилях Windows PowerShell см. в
разделе about_Profiles.
ОБНАРУЖЕНИЕ 32-РАЗРЯДНОГО СЕАНСА НА 64-РАЗРЯДНОМ КОМПЬЮТЕРЕ
---------------------------------------------------
ОШИБКА. Условие "<имя_средства>" не распознано как имя
командлета, функции, файла скрипта или выполняемой
программы. Проверьте правильность написания имени, наличие
и правильность пути и повторите попытку.
Если на удаленном компьютере установлена 64-разрядная версия
Windows, а в удаленной команде используется конфигурация
32-разрядного сеанса, например Microsoft.PowerShell32, служба
удаленного управления Windows (WinRM) загружает процесс WOW64,
и операционная система Windows все ссылки на каталог %Windir%
\System32 автоматически перенаправляет на каталог %windir%
\SysWOW64.
В результате при попытке загрузить из каталога System32 средства,
у которых нет аналогов в каталоге SysWow64, например Defrag.exe,
найти такие средства в каталоге не удается.
Чтобы определить используемую в сеансе архитектуру процессора, воспользуйтесь
значением переменной среды PROCESSOR_ARCHITECTURE. Следующая
команда определяет архитектуру процессора сеанса в переменной
$s.
C:\PS> $s = new-pssession -computername Server01 -configurationName CustomShell
C:\PS> invoke-command -session $s {$env:PROCESSOR_ARCHITECTURE} x86
Дополнительные сведения о конфигурациях сеансов см. в разделе about_session_configurations.
УСТРАНЕНИЕ НЕПОЛАДОК ПОЛИТИК И УСТАНОВЛЕННЫХ ПАРАМЕТРОВ
В этом разделе описаны проблемы удаленного взаимодействия,
связанные с политиками и параметрами, заданными на локальном и
удаленном компьютерах.
ИЗМЕНЕНИЕ ПОЛИТИКИ ВЫПОЛНЕНИЯ ДЛЯ КОМАНДЛЕТОВ IMPORT-PSSESSION И IMPORT-MODULE
-------------------------------------------------------------------------
ОШИБКА. Import-Module: Не удается загрузить файл <имя_файла>,
так как выполнение скриптов запрещено для данной системы.
Командлеты Import-PSSession и Export-PSSession создают модули,
содержащие неподписанные файлы скриптов и файлы форматирования.
Чтобы можно было импортировать модули, созданные этими
командлетами, с помощью командлетов Import-PSSession и
Import-Module, политика выполнения в текущем сеансе не может иметь
значение Restricted или AllSigned. (Дополнительные сведения о
политиках выполнения Windows PowerShell см. в разделе about_Execution_Policies.)
Чтобы импортировать модули без изменения политики выполнения для
заданного в реестре локального компьютера, необходимо с помощью
параметра Scope командлета Set-ExecutionPolicy задать менее
жесткую политику выполнения для отдельного процесса.
Например, следующая команда запускает процесс с политикой
выполнения RemoteSigned. Изменение политики выполнения распространяется
только на текущий процесс и не приводит к изменению параметра
реестра Windows PowerShell ExecutionPolicy.
set-executionpolicy -scope process -executionpolicy RemoteSigned
Кроме того, с помощью параметра ExecutionPolicy
программы PowerShell.exe можно запустить отдельный сеанс с менее
жесткой политикой выполнения.
powershell.exe -executionpolicy RemoteSigned
Дополнительные сведения о командлетах см. в разделах
Import-PSSession, Export-PSSession и Import-Module.
Дополнительные сведения о политиках выполнения см. в разделе
about_Execution_Policies. Чтобы получить дополнительные сведения о параметрах
справки консоли PowerShell.exe, введите команду "powershell.exe -?".
ЗАДАНИЕ И ИЗМЕНЕНИЕ КВОТ
----------------------------
ОШИБКА. Общий объем данных, полученных от удаленного клиента,
превысил допустимое значение.
Квоты позволяют защищать локальный компьютер и удаленный компьютер
от чрезмерного использования ресурсов, как случайного так и
злонамеренного.
В базовой конфигурации доступны следующие квоты.
-- Поставщик WS-Management (WSMan:) предоставляет несколько
параметров квот, например параметры MaxEnvelopeSizeKB и MaxProviderRequests
в узле WSMan:\<имя_компьютера> и параметры MaxConcurrentOperations,
MaxConcurrentOperationsPerUser и MaxConnections в узле WSMan:\<имя_компьютера>\Service.
-- Локальный компьютер можно защитить с помощью параметров
MaximumReceivedDataSizePerCommandMB и MaximumReceivedObjectSizeMB командлета
New-PSSessionOption и привилегированной переменной $PSSessionOption.
-- Удаленный компьютер можно защитить, добавив ограничения в
конфигурации сеанса, например с помощью параметров MaximumReceivedDataSizePerCommandMB
и MaximumReceivedObjectSizeMB командлета Register-PSSessionConfiguration.
Если квоты противоречат команде, Windows PowerShell создает оШибку.
Для устранения ошибки измените удаленную команду, чтобы она
соответствовала квоте. Или определите источник квоты и увеличьте
квоту, чтобы можно было выполнить команду.
Например, следующая команда увеличивает квоту размеров объектов в
конфигурации сеансов Microsoft.PowerShell на удаленном
компьютере с 10 МБ (значение по умолчанию) до 11 МБ.
Set-PSSessionConfiguration -name microsoft.powershell ` -MaximumReceivedObjectSizeMB 11 -Force
Дополнительные сведения о командлете New-PSSsessionOption см. в
разделе New-PSSessionOption.
Дополнительные сведения о квотах WS-Management см. в разделе
справки, посвященном поставщику WS-Management (введите команду
"get-help WSMan").
УСТРАНЕНИЕ ОШИБОК ТАЙМ-АУТА
-----------------------------
ОШИБКА. Службе WS-Management не удается заверить операцию в
течение времени, указанного в OperationTimeout.
Тайм-ауты позволяют защищать локальный компьютер и удаленный
компьютер от чрезмерного использования ресурсов, как случайного
так и злонамеренного. Если тайм-ауты заданы как на локальном,
так и на удаленном компьютере, Windows PowerShell использует
меньшее из заданных значений.
В базовой конфигурации доступны следующие тайм-ауты.
-- Поставщик WS-Management (WSMan:) предоставляет несколько
параметров тайм-аутов на стороне клиента и на стороне сервера,
например параметр MaxTimeoutms в узле WSMan:\<имя_компьютера>
и параметры EnumerationTimeoutms и MaxPacketRetrievalTimeSeconds в узле
WSMan:\<имя_компьютера>\Service.
-- Локальный компьютер можно защитить с помощью параметров
CancelTimeout, IdleTimeout, OpenTimeout, и OperationTimeout
командлета New-PSSessionOption и привилегированной переменной
$PSSessionOption.
-- Можно также защитить удаленный компьютер, установив
значения тайм-аутов для сеанса программным образом в
конфигурации сеанса.
Если значение тайм-аута делает невозможным заверение операции,
Windows PowerShell прерывает операцию и создает ошибку.
Для устранения ошибки измените команду, чтобы она завералась в
пределах отведенного тайм-аута, или определите источник
ограничения тайм-аута и увеличьте значение тайм-аута, чтобы
можно было выполнить команду.
Например, следующие команды с помощью командлета New-PSSessionOption
создают объект параметра сеанса со значением OperationTimeout,
равным 4 минутам (в миллисекундах), а затем создают удаленный сеанс
с использованием этого объекта параметра сеанса.
C:\PS> $pso = new-pssessionoption -operationtimeout 240000
C:\PS> new-pssession -computername Server01 -sessionOption$pso
Дополнительные сведения о периодах ожидания WS-Management см. в
разделе справки, посвященном поставщику WS-Management (введите
команду "get-help WSMan").
Дополнительные сведения о командлете New-PSSsessionOption см. в
разделе New-PSSessionOption.
УСТРАНЕНИЕ НЕПОЛАДОК, ПРИ КОТОРЫХ ОБОЛОЧКА ПЕРЕСТАЕТ ОТВЕЧАТЬ
В этом разделе описаны неполадки удаленного взаимодействия, не
позволяющие заверить команду или задерживающие появление командной
строки Windows PowerShell.
ПРЕРЫВАНИЕ КОМАНДЫ
--------------------------
Некоторые собственные программы Windows, например программы с
пользовательским интерфейсом, консольные приложения, требующие
ввода данных, и консольные приложения, использующие консольный
интерфейс API Win32, некорректно работают с удаленным узлом Windows
PowerShell.
При использовании таких программ может наблюдаться непредсказуемое
поведение, например отсутствие вывода, частичный вывод, либо
удаленная команда может быть не завершена.
Чтобы заверить переставшую отвечать программу, нажмите сочетание
клавиш CTRL + C. Чтобы увидеть оишбки, которые могли быть
созданы, введите на локальном узле и в удаленном сеансе "$error".
CМ. ТАКЖЕ
Интернет-версия: https://go.microsoft.com/fwlink/?LinkID=135188
about_remote
about_remote_requirements