Я вижу ошибки клиента 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