Автоматический сценарий PowerShell для Windows 10 не запускается

1147
legopc

В настоящее время я пытаюсь улучшить текущую установку WDS Windows 10, которую мы используем практически во всех школах, в которых работает системный администратор.

Установка должна содержать некоторые приложения и некоторые базовые изменения здесь и там. Мне также нужно, чтобы присоединиться к домену и переименовать компьютер, независимо от имени домена и без ввода учетных данных. Я использую сценарии PowerShell для этого. Я использовал для этого один сценарий: он будет использовать команду PowerShell add-computer, переименовать компьютер с помощью -NewName и перезагрузить его. Это прекрасно работает, просто время от времени ему нравится выдавать ошибки, поэтому решение для этого - разделить переименование и объединение.

Теперь у меня проблема в том, что он либо просто присоединится к домену (или изменит имя в зависимости от порядка), но не запустит скрипт переименования после перезагрузки.

Он не выдает ошибки и ничего не видно в бортовом журнале, он просто не запускает скрипт ...

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

Я использую Windows 10 Enterprise LTSB x64

<SynchronousCommand wcm:action=" <CommandLine>Powershell.exe -ExecutionPolicy unrestricted -File c:\System\RenameComputer.ps1 </CommandLine> <Description>Change computername</Description> <Order>10</Order> <RequiresUserInput>true</RequiresUserInput> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <CommandLine>Powershell.exe -ExecutionPolicy unrestricted -File c:\System\JoinDomain.ps1 </CommandLine> <Description>Join computer into domain</Description> <Order>9</Order> <RequiresUserInput>true</RequiresUserInput> </SynchronousCommand> </FirstLogonCommands> 

Скрипты я бегу

Get-WmiObject Win32_NetworkAdapterConfiguration | ForEach-Object { IF($_.IPEnabled -eq "True" -and $_.DNSDomain.Length -gt 1) {  $Domain = $_.DNSDomain } } $DomainPass = ConvertTo-SecureString “nope” -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ("$Domain\nope", $DomainPass)  [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null $name = [Microsoft.VisualBasic.Interaction]::InputBox("Enter Desired Computer Name ") $name = $name.ToUpper() Write-Output $name $Domain $Cred Rename-Computer -NewName $name -DomainCredential $Cred Read-Host "press enter to continue" Restart-Computer -Force   Get-WmiObject Win32_NetworkAdapterConfiguration | ForEach-Object { IF($_.IPEnabled -eq "True" -and $_.DNSDomain.Length -gt 1) {  $Domain = $_.DNSDomain } } $DomainPass = ConvertTo-SecureString “nope” -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ("$Domain\nope", $DomainPass)  [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null Add-Computer -DomainName $Domain -Credential $Cred  Read-Host "press enter to continue" Restart-Computer -Force 
0
Первая строка этого фрагмента XML содержит непревзойденную кавычку; может ли это быть причиной проблемы? Также попробуйте `bypass` вместо` unrestricted` для политики выполнения. Ben N 7 лет назад 0
Непревзойденная цитата потерялась в копировальной пасте. Я изменил это, чтобы обойти, и это ничего не изменило. Я думаю, что удаляю последнюю команду и просто использую powershell, чтобы добавить либо переименование, либо присоединение к домену в качестве ключа регистрации runonce. legopc 7 лет назад 0

0 ответов на вопрос