При спробі створити скрипт PowerShell за допомогою вилучення я зіткнувся з проблемою подвійного переходу . У цій статті Перріман дає короткий опис проблеми, а також конкретні кроки для вирішення проблеми (майже тривіально, якщо ви знаєте команди, але для когось менш знайомого, як я, ця інформація була неоціненною!).
Я біг Enable-WSManCredSSP Server
на своєму сервері Win7 без випадків, але спроба запустити Enable-WSManCredSSP Client –DelegateComputer <FQDN of the server>
на своєму клієнті Win7 генерувала цю помилку:
Enable-WSManCredSSP : The client cannot connect to the destination specified
in the request. Verify that the service on the destination is running and
is accepting requests.
Consult the logs and documentation for the WS-Management service running
on the destination, most commonly IIS or WinRM. If the destination
is the WinRM service, run the following com mand on the destination
to analyze and configure the WinRM service: "winrm quickconfig".
Запуск winrm quickconfig підтвердив, що мій сервер працює під WinRM:
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.
І Get-WSManCredSSP підтвердив, що мій сервер готовий прийняти облікові дані від клієнта:
The machine is not configured to allow delegating fresh credentials.
This computer is configured to receive credentials from a remote client computer.
Я також знайшов статтю Боссена про WinRM, в якій він описує загальну настройку WinRM, і знайшов один примх, щоб отримати корисну точку даних для діагностики; ця команда, запущена на клієнті, використовує інструмент winrs для віддаленого доступу до сервера:
winrs -r:http://<FQDN of my server>:5985 -u:<myDomain>\msorens "dir c:\"
Ця команда повертала очікуваний результат, вміст кореневого каталогу на сервері, без випадків, підтверджуючи, що мій FQDN правильний і WinRM увімкнено.
Boessen вказує, що порт 5985 є типовим для Win7; ця команда, запущена на сервері, підтверджує значення 5985:
get-item wsman:\localhost\listener\listener*\port
Питання: Чому я не в змозі виконати команду Enable-WSManCredSSP на стороні клієнта?
Оновлення 2011.06.07
Я знайшов рішення вищезазначеного питання: викликаючи Enable-PSRemoting , рекламувавшись для налаштування комп'ютера для отримання віддалених команд, дозволив Enable-WSManCredSSP на клієнті успішно працювати! Цікаво, але його сторінка людини вказує, що вона робить ряд різних дій, тому я припускаю, що один із тих, хто випадково зробив те, що мені потрібно.
Але тоді я дійшов до чергової перешкоди, коли я намагався використовувати автентифікацію CredSSP. Ось команда:
Invoke-Command { Write-Host "hello, world" } -computername $serverName `
-credential $testCred -Authentication Credssp
І ось відповідь:
Помилка підключення до віддаленого сервера за допомогою наступного повідомлення про помилку: Клієнт WinRM не може обробити запит. Комп'ютерна політика не дозволяє делегування облікових даних користувачів на цільовий комп'ютер. Використовуйте gpedit.msc і перегляньте таку політику: Конфігурація комп'ютера -> Адміністративні шаблони -> Система -> Делегування облікових даних -> Дозволити видалення свіжих облікових даних. Переконайтеся, що він увімкнено та налаштований з SPN, відповідним для цільового комп'ютера. Наприклад, для назви цільового комп'ютера "myserver.domain.com" SPN може бути однією з наступні: WSMAN /myserver.domain.com або WSMAN / *. domain.com. Для отримання додаткової інформації див. Тему довідки about_Remote_Troubleshooting.
Я перевірив налаштування так, як це надзвичайно корисне повідомлення про помилку, і мені здається, що воно налаштовано належним чином.
Нове запитання: чим ця спроба віддаленого з'єднання з CredSSP не вдалася?
Відповідаючи, будь ласка, майте на увазі наступне: Дозвольте мені заздалегідь розвіяти будь-яке уявлення про те, що я знаю, що я тут роблю, і будь-яка зовнішність незважаючи на це. :-) Адміністратор Windows - це не моя область знань!