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

Сценарий:

@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 ответа2

0

Если ключ уже существует, вам нужно использовать -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
0

Я переключился на 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.Команды.NewItemPropertyCommand New-ItemProperty: свойство уже существует в C:\Users\Administrator\Desktop\Autologon.ps1: 5 char: 17 + New-ItemProperty <<<< -Path 'HKLM:\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon '-Name DefaultUserName -Value "$ TheUser" + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlogon: String) [New-ItemProperty], IOException + FullyQualifiedErrorId: Система.IO.IOException, Microsoft.PowerShell.Команды.NewItemPropertyCommand New-ItemProperty: свойство уже существует в C:\Users\Administrator\Desktop\Autologon.ps1: 6 char: 17 + New-ItemProperty <<<< -Path 'HKLM:\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon '-Name DefaultPassword -Value $ ThePassword + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlog on: String) [New-ItemProperty], IOException + FullyQualifiedErrorId: Система.IO.IOException, Microsoft.PowerShell.Команды.NewItemPropertyCommand New-ItemProperty: свойство уже существует в C:\Users\Administrator\Desktop\Autologon.ps1: 7 char: 17 + New-ItemProperty <<<< -Path 'HKLM:\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon '-Name DefautDomainName -value $ TheDomain + CategoryInfo: ResourceExists: (HKEY_LOCAL_MACH ... ersion \ Winlogon: String) [New-ItemProperty], IOException + FullyQualifiedErrorId: Система.IO.IOException, Microsoft.PowerShell.Команды.NewItemPropertyCommand

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .