Вопрос или проблема
Я настроил домашнюю сеть с ПК под управлением Windows 10 и пытаюсь настроить удаленный доступ через PowerShell между этими хостами. Я включил удаленный доступ на всех хостах, разрешив всем хостам управлять И управляться всеми хостами в сети, я протестировал соединение между двумя ПК, и, кажется, оно работает, так как следующий запрос не возвращает ошибок:
PS C:\WINDOWS\system32> test-WSman 192.168.1.132
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xs
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0
но когда я пытаюсь установить полесессию между двумя хостами с помощью следующей команды, я получаю ошибку:
PS C:\WINDOWS\system32>Enter-PSSession -ComputerName 192.168.1.132 -Credential User1
Enter-PSSession : Подключение к удаленному серверу 192.168.1.132 не удалось
с следующим сообщением об ошибке: Доступ запрещен.
Для получения дополнительной информации см. раздел справки about_Remote_Troubleshooting.
В строке:1 символ:1
+ Enter-PSSession -ComputerName 192.168.1.132 -Credential User1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument:(192.168.1.132:String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : CreateRemoteRunspaceFailed
После выполнения этой команды, конечно, появляется диалоговое окно с запросом пароля. Возможно, ошибка связана с учетными данными, которые я ввожу… где я могу получить действительные и приемлемые учетные данные (пользователь и пароль) в Windows для подключения к удаленной машине в моей домашней сети?
Мне нужно создавать новые с помощью cmdlet get-credential или, возможно, учетные данные привязаны к локальной учетной записи на машине, с которой я подключаюсь, или, возможно, на машине, к которой я подключаюсь?
Я совершенно некомпетентен в этой области, поэтому не знаю, как это решить.
П.С. Я нахожусь в простой рабочей группе Windows (без установленной домашней группы), а не в домене, так что машины находятся в конфигурации пиринговой сети.
Существует несколько командлетов PoSH для удаленного управления, которые можно использовать без прав администратора или даже без необходимости в WinRM на удаленном хосте:
Совет: Работайте удаленно с Windows PowerShell, не используя удаленное управление или
WinRM https://technet.microsoft.com/en-us/library/ff699046.aspx
Но для большей части удаленного управления PoSH вы должны быть в группе локальных администраторов на удаленном хосте.
Смотрите также:
Удаленное управление PowerShell без прав администратора
https://4sysops.com/archives/powershell-remoting-without-administrator-rights
Удаленное управление PowerShell через WinRM для пользователей без прав администратора
http://woshub.com/powershell-remoting-via-winrm-for-non-admin-users
Настройка WinRM через HTTPS для включения удаленного управления PowerShell
http://www.techdiction.com/2016/02/11/configuring-winrm-over-https-to-enable-powershell-remoting
На компьютере, с которого вы подключаетесь, вам нужно запустить это в PowerShell с правами администратора:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" –Force
это заставляет ваш компьютер доверять тому, к которому вы подключаетесь (* – это все компьютеры). Затем выполните:
New-PSSession –computername 192.168.1.7 –credential nameofcomputer\administrator
вам нужны computername
и useraccount
на этом компьютере, затем введите пароль, и это сработает:
Enter-PSSession
Ответ или решение
Чтобы наладить удаленный доступ через PowerShell в среде рабочей группы, необходимо обратить внимание на несколько аспектов, которые могут привести к ошибке "Access is denied" при попытке установить сессию удаленного управления. Рассмотрим основные шаги и рекомендации, которые помогут устранить эту проблему.
1. Проверка настроек WinRM
Поскольку вы работаете в среде рабочей группы (workgroup), убедитесь, что службы Windows Remote Management (WinRM) настроены правильно на всех машинах. Для этого выполните следующие шаги:
- Откройте PowerShell от имени администратора.
- Введите команду для настройки WinRM:
Enable-PSRemoting -Force
Эта команда активирует WinRM и позволит вашим удаленным экземплярам PowerShell взаимодействовать.
2. Установка доверительных хостов
Вам необходимо установить доверительные хосты на компьютере, с которого вы выполняете удаленные команды. Для этого выполните команду:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force
Звездочка (*
) позволяет доверять всем удаленным компьютерам, что в случае домашней сети приемлемо. Однако, для более строгих настроек укажите конкретные IP-адреса или имена компьютеров.
3. Проверка учетных данных
Убедитесь, что вы используете правильные учетные данные для подключения. В случае рабочей группы учетные данные зависят от локальных пользователей на удаленной машине. Вам нужно указать пользователя в формате:
Имя_компьютера\Имя_пользователя
Например, если вы подключаетесь к компьютеру с именем PC1
и у вас есть локальный пользователь с именем User1
, учетные данные будут выглядеть так:
PC1\User1
Вы можете получить эти учетные данные через команду Get-Credential
, чтобы генерировать окно запроса пароля.
4. Проверка групповой политики
Убедитесь, что ваш пользователь (или группа, к которой относится ваш пользователь) входит в локальную группу администраторов на удаленном компьютере, так как для выполнения большинства операций требуется наличие прав администратора. Это можно сделать через:
- Включите
lusrmgr.msc
для управления локальными пользователями и группами. - Убедитесь, что ваш пользователь присутствует в группе "Administrators".
5. Устранение проблем с брандмауэром
Если все настройки верны, но проблема все еще проявляется, убедитесь, что брандмауэр Windows не блокирует ваши соединения. Откройте настройки брандмауэра и проверьте наличие правил, разрешающих входящее соединение через WinRM (TCP 5985 для HTTP и TCP 5986 для HTTPS).
Заключение
Если вы выполнили все указанные шаги и по-прежнему получаете ошибку "Access is denied", рекомендуется проверить журнал событий Windows на удаленном компьютере для получения дополнительной информации о том, почему доступ может быть заблокирован. Пройдя через все эти настройки, вы должны уметь успешно настроить удаленный доступ через PowerShell в среде рабочей группы. Если возникнут дальнейшие трудности, не стесняйтесь обращаться за помощью на соответствующие форумы или ресурсы.