Скрипт для включения автологона для пользователей в домене не будет работать, если я не запускаю его дважды
Поэтому у меня возникла проблема со скриптом, который позволяет пользователям домена с автологами. По какой-то причине мне нужно запустить его дважды, чтобы опция была включена на компьютере.
Сценарий:
@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, и у меня тоже была та же проблема.
Буду очень признателен за вашу помощь!
2 ответа
Я переключился на 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.NewIt: Команда Свойство уже существует в 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.NewItemThe perperomom свойство уже существует в C:\Users\Administrator\Desktop\Autologon.ps1:6 char:17 + New-ItemProperty <<<< -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 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 <<<< -Path 'HKLM:\SOFTWARE\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.Commands.NewItemPropertyCommand
Не уверен, как я могу это исправить, и я очень признателен за вашу помощь.
Если ключ уже существует, вам нужно использовать -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