Скрипт для включения автологона для пользователей в домене не будет работать, если я не запускаю его дважды

643
Youssef Karami

Поэтому у меня возникла проблема со сценарием, который позволяет пользователям домена с автологами. По какой-то причине мне нужно запустить его дважды, чтобы опция была включена на компьютере.

Сценарий:

@echo off REM Set variables set /p user-name= What is the username? set /p domain= What is the domain name? set /p password= What is the password?  REM Enable Auto Logon reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1  REM Set Username for logon reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d %user-name%  REM Set Domain reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName /t REG_SZ /d %domain%  REM Set Password reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d %password% 

Я пытался использовать эту программу из Technet, и у меня тоже была та же проблема.

Буду очень признателен за вашу помощь!

0
похожие: http://superuser.com/questions/487395/why-do-i-need-to-set-up-autologon-values-in-registry-twice-in-before-it-works-an befzz 9 лет назад 0

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

0
Youssef Karami

Я переключился на PowerShell, используя этот скрипт:

$TheUser = Read-Host "What is the username?" $ThePassword = Read-Host "What is the password?" -AsSecureString $TheDomain = Read-Host "What is the domain?" New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name AutoAdminLogon -Value 1 New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name DefaultUserName -Value "$TheUser" New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name DefaultPassword -Value $ThePassword New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name DefautDomainName -value $TheDomain 

Но каждый раз, когда я выполняю скрипт, я получаю это сообщение об ошибке:

New-ItemProperty: свойство уже существует в C: \ Users \ Administrator \ Desktop \ Autologon.ps1: 4 char: 17 + New-ItemProperty <<<< -Path 'HKLM: \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon '-Name AutoAdminLogon -Value 1 + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlogon: String) [New-ItemProperty], IOException + FullyQualifiedErrorId: System.IO.IOException, Microsoft.PowerShell.Commands.Nom Свойство уже существует в C: \ Users \ Administrator \ Desktop \ Autologon.ps1: 5 char: 17 + New-ItemProperty <<<< -Path 'HKLM: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon' -Name DefaultUserName -Значение "$ TheUser" + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlogon: String) [New-ItemProperty],IOException + FullyQualifiedErrorId: System.IO.IOException, Microsoft.PowerShell.Commands.NewItemPropertyCommand New-ItemProperty: свойство уже существует в C: \ Users \ Administrator \ Desktop \ Autologon.ps1: 6 символов: 17 + New-ItemProperty <<< <-Path 'HKLM: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon' -Имя DefaultPassword -Value $ ThePassword + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlog on: String) [New-ItemProperty], IOException + FullyQualifiedErrorId: System.IO.IOException, Microsoft.PowerShell.Commands.NewItemPropertyCommand New-ItemProperty: свойство уже существует в C: \ Users \ Administrator \ Desktop \ Autologon.ps1: 7 char: 17 + New-ItemProperty <<<< - Путь 'HKLM: \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon'-Имя DefautDomainName -value $ TheDomain + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlogon: String) [New-ItemProperty], IOException + FullyQualifiedErrorId: System.IO.IOException, Microsoft.PowerShell.Command.NI

Не уверен, как я могу это исправить, и я очень признателен за вашу помощь.

0
Vasil Svilenov Nikolov

Если ключ уже существует, вам нужно использовать -Force для его перезаписи. Вы можете добавить его в конце

 $TheUser = Read-Host "What is the username?" $ThePassword = Read-Host "What is the password?" -AsSecureString $TheDomain = Read-Host "What is the domain?" New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name AutoAdminLogon -Value 1 -Force New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name DefaultUserName -Value "$TheUser" -Force New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name DefaultPassword -Value $ThePassword -Force New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name DefautDomainName -value $TheDomain -Force 
Как ваш ответ согласуется с утверждением ОП о том, что скрипт работает во второй раз? G-Man 6 лет назад 1
Это соответствует последнему посту. Я не знаю, почему вы должны запустить этот пакетный скрипт дважды, но я знаю, почему powershell дал ему ошибку. Vasil Svilenov Nikolov 6 лет назад 0

Похожие вопросы