Не удалось подключиться windows powershell

Содержание
  1. Клёвый код
  2. Решаем задачи Абрамян на C. Matrix78
  3. Решаем задачи Абрамян на C. Matrix77
  4. Решаем задачи Абрамян на C. Matrix76
  5. Решаем задачи Абрамян на C. Matrix75
  6. Решаем задачи Абрамян на C. Matrix74
  7. Решаем задачи Абрамян на C. Matrix73
  8. Решаем задачи Абрамян на C. Matrix72
  9. Решаем задачи Абрамян на C. Matrix71
  10. Решаем задачи Абрамян на C. Matrix70
  11. Решаем задачи Абрамян на C. Matrix69
  12. Удаленное управление через Powershell
  13. Об устранении неполадок удаленного поиска About Remote Troubleshooting
  14. Краткое описание Short description
  15. Подробное описание Long description
  16. Устранение неполадок разрешений и проверки подлинности Troubleshooting permission and authentication issues
  17. Запуск от имени администратора How to run as administrator
  18. Как включить удаленное взаимодействие How to enable remoting
  19. Как включить удаленное взаимодействие на предприятии How to enable remoting in an enterprise
  20. Включение прослушивателей с помощью групповой политики How to enable listeners by using a group policy
  21. Включение удаленного взаимодействия в общедоступных сетях How to enable remoting on public networks
  22. Как включить исключение брандмауэра с помощью групповой политики How to enable a firewall exception by using a group policy
  23. Как задать тип запуска службы WinRM How to set the startup type of the WinRM service
  24. Повторное создание конфигураций сеансов по умолчанию How to recreate the default session configurations
  25. Как указать учетные данные администратора How to provide administrator credentials
  26. Включение удаленного взаимодействия для пользователей, не являющихся администраторами How to enable remoting for non-administrative users
  27. Включение удаленного взаимодействия для администраторов в других доменах How to enable remoting for administrators in other domains
  28. Использование IP-адреса в удаленной команде How to use an ip address in a remote command
  29. Удаленное подключение с компьютера, созданного в Рабочей группе How to connect remotely from a workgroup-based computer
  30. Добавление компьютера в список надежных узлов How to add a computer to the trusted hosts list
  31. Устранение проблем с конфигурацией компьютера Troubleshooting computer configuration issues
  32. Настройка удаленного взаимодействия на альтернативных портах How to configure remoting on alternate ports
  33. Настройка удаленного взаимодействия с помощью прокси-сервера How to configure remoting with a proxy server
  34. Обнаружение 32-разрядного сеанса на 64-разрядном компьютере How to detect a 32-bit session on a 64-bit computer
  35. Устранение проблем политики и предпочтений Troubleshooting policy and preference issues
  36. Изменение политики выполнения для Import-PSSession и Import-Module How to change the execution policy for Import-PSSession and Import-Module
  37. Как задать и изменить квоты How to set and change quotas
  38. Устранение ошибок времени ожидания How to resolve timeout errors
  39. Устранение неполадок при неотвечающем взаимодействиях Troubleshooting unresponsive behavior
  40. Прерывание команды How to interrupt a command
  41. Восстановление после сбоя операции How to recover from an operation failure
  42. Ограничения Linux и macOS Linux and macOS limitations
  43. Аутентификация Authentication

Клёвый код

Скриптописание и кодинг

Решаем задачи Абрамян на C. Matrix78

Matrix78. Дана матрица размера $$M \times N$$. Упорядочить ее строки так, чтобы их минимальные элементы образовывали убывающую последовательность.

Решаем задачи Абрамян на C. Matrix77

Matrix77. Дана матрица размера $$M \times N$$. Упорядочить ее столбцы так, чтобы их последние элементы образовывали убывающую последовательность.

Решаем задачи Абрамян на C. Matrix76

Matrix76. Дана матрица размера $$M \times N$$. Упорядочить ее строки так, чтобы их первые элементы образовывали возрастающую последовательность.

Решаем задачи Абрамян на C. Matrix75

Matrix75. Дана матрица размера $$M \times N$$. Элемент матрицы называется ее локальным максимумом, если он больше всех окружающих его элементов. Поменять знак всех локальных максимумов данной матрицы на противоположный. При решении допускается использовать вспомогательную матрицу.

Решаем задачи Абрамян на C. Matrix74

Matrix74. Дана матрица размера $$M \times N$$. Элемент матрицы называется ее локальным минимумом, если он меньше всех окружающих его элементов. Заменить все локальные минимумы данной матрицы на нули. При решении допускается использовать вспомогательную матрицу.

Решаем задачи Абрамян на C. Matrix73

Matrix73. Дана матрица размера $$M \times N$$. После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. Если требуемых столбцов нет, то вывести матрицу без изменений.

Решаем задачи Абрамян на C. Matrix72

Matrix72. Дана матрица размера $$M \times N$$. Перед первым столбцом, содержащим только положительные элементы, вставить столбец из единиц. Если требуемых столбцов нет, то вывести матрицу без изменений.

Решаем задачи Абрамян на C. Matrix71

Matrix71. Дана матрица размера $$M \times N$$. Продублировать столбец матрицы, содержащий ее минимальный элемент.

Решаем задачи Абрамян на C. Matrix70

Matrix70. Дана матрица размера $$M \times N$$. Продублировать строку матрицы, содержащую ее максимальный элемент.

Решаем задачи Абрамян на C. Matrix69

Matrix69. Дана матрица размера $$M \times N$$ и целое число $$K$$ $$(1 \le K \le $$N$$)$$. После столбца матрицы с номером $$K$$ вставить столбец из единиц.

Удаленное управление через Powershell

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

Сегодня мы поговорим о PS remoting/WinRM. В его состав входит, в основном, два командлета — это:

Этот командлет устанавливает сессию c удаленным компьютером и мы сможем работать прям на нем. Если сравнивать с Linux, то это почти одно и то же:

И второй командлет, который нужен для удаленного выполнения команд как на одном, так и сотни компьютеров:

Где:
-ComputerName — имена компьютеров (или одного)
-Scriptblock — скрипт или командлет в скобках <>

Если опять же сравнить с Linux ssh, то это почти одно и то же:

Как настроить удаленное управление через Powershell?

Для того что бы суметь настроить нужно понять как это работает. Команды выше могут работать по протоколу HTTP (по порту 5985) и HTTPS (5986), за исключением версии Powershell 1.0, который работал в XP (там порт 80/443). По умолчанию у нас стоит HTTP, но и эти данные шифруются используя симметричный ключ AES-256. Сама аутентификация работает в 2 режимах NTLM и Kerberos(по умолчанию стоит он). Если у вас сеть с домен контроллером, т.е. есть Kerberos, то у вас должны работать команды выше. Если компьютеры в Workgroup, то они используют NTLM и для этого нужна дополнительная настройка. Кроме того, если вы вместо имен используете IP, то вы в любом случае используете NTLM и это по умолчанию не работает.

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

Если не запушен:

В этом случае мы ставим запуск сервиса автоматически и настраиваем winrm в дефолтной конфигурации. Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.

Если вы работаете под профилем сети «Public» (не «Domain» или «Private»), то нужно выполнить еще один командлет, разрешающий работать в таких сетях:

Если мы выполним такую команду:

Получим ошибку:
Connecting to remote server 192.168.3.100 failed with the following error message : The WinRM client cannot process the request. Default authentication may be used with an IP address under the following conditions: the transport is HTTPS or the destination is in the TrustedHosts list, and explicit credentials are provided.

Которая говорит, что мы можем подключится по IP если используем HTTPS (для этого нужен сертификат) или добавить хост, к которому подключаемся в TrustedHost компьютера с которого хотим запустить команду. Для этого делаем:

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

Где:
$cred — это переменная, куда мы сохраняем данные с формы Get-Credential
-Credential — сюда мы передаем переменную

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

Теперь мы можем устанавливать множество сессий с помощью командлета:

Получать ID этих сессий:

И подключаться по этим ID:

Или использовать с invoke существующую сессию, а командлет для удаленного компьютера запускать с файла:

А так же, т.к. WinRM настроен, выполнять командлеты где есть ключ -ComputerName, сразу на нескольких компьютерах. Этот командлет пропингует AD сразу с нескольких компьютеров:

Или же использовать методы описанные выше.

Дополнительные ключи мы можем узнать по командлетам:

Об устранении неполадок удаленного поиска 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

Чтобы запустить удаленный сеанс на локальном компьютере или просмотреть или изменить параметры для локального компьютера на диске 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

Для включения отправки удаленных команд на компьютере не требуется настраивать конфигурацию. 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.

Читайте также:  Драйвер для 32 разрядного windows

Чтобы настроить компьютер для получения удаленных команд, используйте 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.

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

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

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

Чтобы разрешить одному компьютеру получать удаленные команды 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

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

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

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

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 Командлет экспортируется модулем 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

Чтобы включить исключение брандмауэра на всех компьютерах в домене, включите политику брандмауэра 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:

Эта политика позволяет членам группы администраторов на компьютере использовать Брандмауэр 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:

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

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

Удаленное взаимодействие 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.

Чтобы просмотреть результаты, используйте 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

Чтобы подключиться к локальному компьютеру и выполнить команды удаленно, локальный компьютер должен включать конфигурации сеанса для удаленных команд. 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:

Чтобы изменить Рутсддл, используйте 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

Чтобы создать сеанс 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.

Дополнительные сведения о параметре 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

Чтобы установить 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.

Читайте также:  Windows drivers visual studio

По умолчанию разрешения на использование конфигураций сеансов по умолчанию имеют только члены группы «Администраторы» на компьютере. 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.

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

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

Если пользователь в другом домене входит в группу администраторов на локальном компьютере, он не может удаленно подключиться к локальному компьютеру с правами администратора. 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.

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

Параметр 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.

Настройте компьютер для транспорта 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.

Используйте параметр 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

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

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

Убедитесь, что пароль установлен на компьютере рабочей группы. 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.

Используйте параметр 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:

Можно также использовать 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:

Чтобы добавить все компьютеры в список доверенных узлов, используйте следующую команду, которая помещает в 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

Можно также использовать подстановочный знак ( * ) для добавления всех компьютеров в определенном домене в список доверенных узлов. 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.

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

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

Пример: For example:

Чтобы добавить имя компьютера в существующий список доверенных узлов, сначала сохраните текущее значение в переменной, а затем задайте в качестве значения список с разделителями-запятыми, включающий текущие и новые значения. 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

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

Пример: For example:

Чтобы добавить компьютер в список 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

Удаленное взаимодействие 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.

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

Поскольку удаленное взаимодействие 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
  • ProxyCredential ProxyCredential

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

Используйте параметры проксякцесстипе , проксяусентикатион и 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.

Используйте переменную, содержащую объект 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.

Дополнительные сведения о 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.

Читайте также:  Как узнать активирована ли windows 10 pro или нет

Чтобы задать эти параметры для всех удаленных команд, всех сеансов 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

Если удаленный компьютер работает под управлением 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.

Дополнительные сведения о конфигурациях сеансов см. в разделе 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-Module How to change the execution policy for Import-PSSession and Import-Module

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.

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

Дополнительные сведения о политиках выполнения см. в разделе 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

Квоты можно использовать для защиты локального компьютера и удаленного компьютера от чрезмерного использования ресурсов, как случайных, так и вредоносных. 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: а также параметры максконкуррентоператионс , свойств maxconcurrentoperationsperuser и MaxConnections в WSMan: \Service узле. The WSMan provider (WSMan:) provides several quota settings, such as the MaxEnvelopeSizeKB and MaxProviderRequests settings in the WSMan: node and the MaxConcurrentOperations , MaxConcurrentOperationsPerUser , and MaxConnections settings in the WSMan: \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.

Дополнительные сведения о 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

Можно использовать время ожидания для защиты локального компьютера и удаленного компьютера от чрезмерного использования ресурсов, как случайных, так и вредоносных. 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: узле и параметры енумератионтимеаутмс и макспаккетретриевалтимесекондс в WSMan: \Service узле. The WSMan provider (WSMan:) provides several client-side and service-side timeout settings, such as the MaxTimeoutms setting in the WSMan: node and the EnumerationTimeoutms and MaxPacketRetrievalTimeSeconds settings in the WSMan: \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.

Дополнительные сведения об истечении времени ожидания 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

Эта ошибка возвращается в случае завершения операции до ее завершения. 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.

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

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

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

Ограничения Linux и macOS Linux 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.

Оцените статью