Чтобы выполнять команды или сценарии PowerShell на удаленном компьютере, вам необходимо создать сеанс. Это также известно как удаленное взаимодействие PowerShell и похоже на сеанс SSH с операционной системой. Есть несколько способов создать сеанс PowerShell. Я перечислю здесь один из самых простых способов. Это обязательные шаги.
Шаг 1. Включение удаленного взаимодействия PowerShell
Откройте PowerShell с правами администратора на удаленном компьютере и выполните следующую команду:
Enable-PSRemoting -Force
Эта команда запускает службу WinRM и создает правило брандмауэра, разрешающее входящие соединения. Параметр -force позволяет PowerShell не запрашивать подтверждение на каждом этапе.
Шаг 2. Настройте TrustedHosts
на обоих компьютерах , настройте параметр TrustedHosts, чтобы они знали друг друга. Для этого выполните следующую команду на обоих компьютерах:
winrm set winrm/config/client '@ {TrustedHosts = "
Шаг 3. Перезапустите службу WinRM
Выполните следующую команду, чтобы перезапустить службу WinRM сейчас:
Restart-Service WinRM
Шаг 4. Проверьте соединение
Чтобы проверить свою конфигурацию, выполните следующую команду на локальном компьютере:
Test-WsMan
Чтобы конфигурация прошла успешно, эта команда должна выполняться без ошибок и отображать информацию о службе WinRM на удаленном компьютере.
Создание сеанса PowerShell и выполнение команд
Теперь, когда оба компьютера были настроен, вы можете создать сеанс, используя следующие команды (выполняйте эти команды с повышенными привилегиями):
$ cred = Get-Credential $ sessions = New-PSSession -Credential $ cred -ComputerName Enter-PSSession $ sessions Exit-PSSessionRemove-PSSession $ se ss
Это:
winrm set winrm/config/client ‘@ {TrustedHosts = ”
абсолютно не работает!
Вы получаете новую строку и стрелки, указывающие вправо 🙂
Ответ
winrm set winrm/config/client ‘@ {TrustedHosts = ”*”} ‘
Ответьте
*, поскольку TrustedHosts представляет угрозу безопасности. Лучше всего:
winrm set winrm/config/client ‘@ {TrustedHosts = ””}’
Ответить
winrm set winrm/config/client ‘@ { TrustedHosts = ”.. попробуйте это 🙂
Reply
Если Enable-PSRemoting -Force не выполняется, то какой ошибки мне ожидать?
Будет throw
New-PSSession: не удалось подключиться к удаленному серверу со следующим сообщением об ошибке: WinRM не может обработать запрос. Следующая ошибка с кодом ошибки 0x80090311 произошла при использовании аутентификации Kerberos?
Чтобы использовать аутентификацию Kerberos, мне нужно импортировать модуль activedirectory в PowerShell?
Могу ли я использовать аутентификацию Kerberos здесь вместо основного?
Я
Ответ
winrm help config
PS C: WINDOWS system32> winrm set winrm/config /client ‘@ {TrustedHosts = ””}’
Клиент
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false
Auth
Basic = true
Digest = true
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = false
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts =
Ответить
‘@ {TrustedHosts = ””}’
Ответ
Большое спасибо за этот совет, который мне помог, Карим! 😉
Он работает отлично.
Теперь я могу запускать удаленные процессы с учетными данными пользователя, например: «Блокнот запуска процесса»
Для этого test, я зарегистрировал сеанс пользователя на этом компьютере с теми же учетными данными, чтобы увидеть, что происходит.
Итак …: Я вижу, что NOTEPAD работает в диспетчере задач.
Но я не видел GUI NOTEPAD интерфейс, запущенный на удаленном компьютере.
Я знаю только, что он работает с диспетчером задач.
Не могли бы вы объяснить мне, что мне нужно сделать, чтобы увидеть все приложение NOTEPAD GUI?
Спасибо
Ответить