Назад | Перейти на главную страницу

Ошибки WMI E_ACCESSDENIED при попытке удаленного переименования компьютера через PowerShell

Я пытаюсь запустить сценарий для переименования удаленных компьютеров через PowerShell. Проблема, с которой я столкнулся, заключается в том, что я получаю следующую ошибку:

Rename-Computer : Cannot establish the WMI connection to the computer 'computername' with the following error
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
At C:\temp\scripts\rename_script\new_rename.ps1:8 char:5
+     Rename-Computer -NewName $Computer.newname -ComputerName $compute ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (WLA-WS174931:String) [Rename-Computer], InvalidOperationExce
    + FullyQualifiedErrorId : RenameComputerException,Microsoft.PowerShell.Commands.RenameComputerCommand

Я запускаю команду, используя учетные данные администратора домена из административного окна PowerShell. Я могу успешно запустить Get-WMIobject на удаленных компьютерах. Репозиторий WMI согласован. Я перезапустил службу WMI. Я могу запустить команду на локальном компьютере без ошибок, но попытка запустить ее по сети приводит к отказу в доступе, независимо от того, создаю ли я сценарий или делаю это вручную. Операционная система целевой и исходной систем - Windows 7.

Я использую следующую команду:

$cred = get-credential
rename-computer -newname newname -computername oldname -domaincredential $cred -restart -passthru -force

Я новичок в PowerShell / WMI, но мне кажется, что здесь я довольно хорошо рассмотрел основы. Что мне не хватает?

Вам потребуются наборы учетных данных для изменения среды домена.

Rename-Computer -ComputerName "Srv01" -NewName "Server001" -LocalCredential Srv01\Admin01 -DomainCredential Domain01\Admin01 -Force -PassThru -Restart

Эта команда переименовывает компьютер Srv01 в Server001, а затем перезагружает его, чтобы изменения вступили в силу. Он использует параметр LocalCredential для предоставления учетных данных пользователя, у которого есть разрешение на подключение к локальному компьютеру, и параметр DomainCredential для предоставления учетных данных пользователя, у которого есть разрешение на переименование компьютеров в домене. Параметр Force используется для подавления запроса на подтверждение, а параметр PassThru - для возврата результатов команды.