Переименуйте компьютер с помощью Powershell - PullRequest
0 голосов
/ 11 октября 2019

У меня есть сценарий Powershell, который я написал несколько лет назад и который «собирает» компьютер под управлением Windows 7 (да, мы знаем, что поддержка Windows 7 заканчивается в конце 2019 года, но я должен сделать одно последнее изменение на этих ПК) только изоригинальная операционная система только с учетной записью администратора. Скрипт добавляет пользователей, приложения, патчи и др. У меня сценарий разбит на три части. Первая часть просто переименовывает компьютер и перезагружает компьютер.

Затем я запускаю sysprep и полностью запускаю вторую часть сценария. Третья часть запускается после перезагрузки компьютера и восстанавливается после выполнения sysprep. Он запускает групповую политику и ряд других вещей, удаленных с помощью sysprep.

Оригинальный ПК с только операционной системой и учетной записью администратора был сохранен с помощью Clonezilla. Всякий раз, когда мне нужно изменить сборку, я вносил свои изменения в сценарий Powershell (части вторая и третья), а затем просто записывал ПК на исходный образ и снова запускал сценарии Powershell.

IНИКОГДА не менял мою первую часть скрипта Powershell, где он просто переименовывал компьютер:

$NewName = "newname"
$OldName = gc env:computername
$Computer = Get-WmiObject Win32_ComputerSystem -ComputerName $oldname
$Computer.Rename($NewName) | Out-File $log -append

Сегодня я снова сжег ПК до его исходной операционной системы. Я запускаю свой первый скрипт Powershell и вдруг эти команды перестают работать. Дает мне ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ 1355, что означает, что это компьютер домена и должен быть в домене. Это никогда не было раньше. Черт возьми, я поместил его в нашу сеть и снова попробовал скрипт. На этот раз он возвращает 1326, что означает, что у меня нет учетных данных. Но я вошел в систему с единственной учетной записью (администратор), так как мне вдруг НЕ иметь учетные данные ?? Я пробовал несколько различных вариантов выше. Я даже попытался просто изменить его в командной строке с помощью

WMIC computersystem where caption='old name' rename newname

. Это дает одинаковое возвращаемое значение 1355 или 1326 в зависимости от того, есть ли оно в сети. Это не имеет никакого смысла для меня, так как это никогда не было проблемой раньше - и почему пользователь и пароль администратора не будут работать для этих ??

Есть предложения?

...