Переменная PSCredential перестает работать для функции WinRM после передачи в get-winevent - PullRequest
0 голосов
/ 22 января 2019

Я вижу ошибки клиента WinRM при повторном использовании объекта Credential, но только если я использую его на Get-WinEvent, прежде чем я использовал его на Get-WindowsFeature.

Если я заменил Get-WindowsFeatureс Invoke-Command вызовом Get-WindowsFeature против сервера и использованием того же объекта учетных данных тогда все работает как положено, но это вызывает другие проблемы с различными частями моего сценария, и я бы лучше понял, почему он не работает.

Я сократил все до минимума, чтобы продемонстрировать ошибку, и добрался до этого.

$Cred = Get-Credential

$Name = "server01"

Get-WindowsFeature -ComputerName $Name -Credential $Cred 

Get-winEvent -ComputerName $Name -Credential $Cred -MaxEvents 1

Get-WindowsFeature -ComputerName $Name -Credential $Cred

Ожидаемые результаты

Список функций Windows иих статус на сервере01

Самая последняя запись в журнале событий на сервере01

Список функций Windows и их статус на сервере01

Фактические результаты

Список функций Windows и их состояние на сервере01

Самая последняя запись в журнале событий на сервере01

Get-WindowsFeature : The WinRM client cannot process the request. Requests must include user name and password when Basic or Digest authentication mechanism is used. Add the user name and password or change the authentication mechanism and try the request again. At line:1 char:1 + Get-WindowsFeature -ComputerName $Name -Credential $Cred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Get-WindowsFeature], CimException + FullyQualifiedErrorId : Microsoft.Management.Infrastructure.CimException,Microsoft.Windows.ServerManager.Commands.GetWindowsFeatureCommand

1 Ответ

0 голосов
/ 22 января 2019

почему бы не попробовать это вместо

$Cred = Get-Credential

$Name = "server01"

invoke-command -ComputerName $Name -Credential $Cred -ScriptBlock {

    Get-WindowsFeature

    Get-winEvent -MaxEvents 1

    Get-WindowsFeature

}
...