Автоматический сценарий PowerShell для Windows 10 не запускается
В настоящее время я пытаюсь улучшить текущую установку 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 ответов на вопрос
Похожие вопросы
-
12
Почему папка / winsxs становится такой большой и ее можно уменьшить?
-
2
Повышенные привилегии для запуска приложений в Windows?
-
14
PDF Viewer в Windows
-
-
7
Какие службы Windows можно безопасно отключить?
-
8
Firefox PDF плагин для просмотра PDF в браузере на Windows
-
1
Windows теряет макет экрана
-
1
Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап...
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
6
Просмотр журнала в Windows
-
3
Фоновая проблема Windows с двумя экранами