2016-11-30 3 views
0

«Ошибка подключения к удаленному серверу со следующим сообщением об ошибке: WinRM не может обработать запрос. При использовании проверки подлинности на переговорах произошла следующая ошибка с кодом ошибки 0x80090304: произошла неизвестная ошибка безопасности».WinRM не может обработать запрос

Я пытаюсь запускать сценарии удаленно на серверы без домена, а клиенты также не являются частью домена, так как наша среда основана на MicroFocus eDirectory.

Я настроил/попытался следующие на клиенте и сервере:

winrm quickconfig 
WinRM set winrm/config/client @{TrustedHosts="*"} 
Set-item wsman:localhost\client\trustedhosts -value * 

И опять же, ни одна из машин не являются частью домена, но я предполагал, что это будет работать с TrustedHosts.

код пытается аутентифицировать выглядит так:

[xml]$windows=(Get-Content P:\script\windows.xml) 

$windows.servers.host | ForEach-Object { 

$password = ConvertTo-SecureString $_.pass -AsPlainText -Force 
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "$_.name+$_.user",$password 

Invoke-Command -ComputerName $_.name -Credential $credential -ScriptBlock {Get-Culture} 
} 
+0

Включен ли пульт ps на целевой машине? 'enable-remoting' – Moerwald

+0

Это первая строка« winrm quickconfig », включающая включение PSremoting, я также попытался включить ее отдельно после того, как она не сработала, но еще не играла в кости. –

ответ

1

Ваша проблема заключается в форматировании пользователя. «$ .name + $ .user» будет оценивать строку с + в середине ее, так как кавычки обернуты вокруг обоих элементов. правильный способ написать это будет "$($_.name)$($_.user)" или, скорее всего, если исходный файл не поместит конечный «\» в поле имени "$($_.name)\$($_.user)"

+0

Это не проблема, так как переменная пользователя $ _. Начинается с \, поэтому я так и предполагаю, что я боюсь. –

+0

'+' в середине строки по-прежнему оценивается как символ, а не оператор, если косой чертой является вход '' $ ($ _. Name) $ ($ _. User) "или' ($ _. name + $ _. user) 'будет правильным форматированием. в настоящее время создается строка, которая выглядит как «Имя + \ Пользователь» –

+0

А теперь я вижу, к чему вы клоните! Вы абсолютно правы, и кажется, что ваше первое предложение '' $ ($ _. Name) $ ($ _. User) "работает намного лучше, но нельзя использовать ($ _. Name + $ _. User) Я думаю, так как он хочет строку. Большое спасибо, вся связь теперь работает по назначению! –

Смежные вопросы