簡體   English   中英

運行腳本時Powershell不創建注冊表項

[英]Powershell not creating registry key when script is run

我當前正在創建一個Powershell腳本,技術人員可以在其中運行以幫助應用各種注冊表編輯來創建某些具有自動登錄功能的PC。 但是,無論何時運行腳本,PowerShell都不會在使用預先存在的鍵更改值時出現問題,但是在使用“ new-item”命令時它不會創建鍵。 我想知道是否有人對運行時沒有收到錯誤的原因為什么不創建注冊表項有任何想法。

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" –Name AutoAdminLogon -Value 1
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultUserName -Value domain\TEST
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultPassword -Value TEST123
Test-Path –Path "HKLM:\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\ForceAutoLogon"
if ( -Not (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"))
{
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name ForceAutoLogon  -Value 1
}

Test-Path不適用於注冊值。 您可以使用Try / Catch塊執行此操作。 您還需要獲取/設置itemPropery。

$Path = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Try {
    Get-ItemProperty -Path $Path | Select-Object -ExpandProperty ForceAutoLogon -ErrorAction Stop | Out-Null
    Set-ItemProperty -Path $Path -Name ForceAutoLogon -Value 1
} Catch {
    New-ItemProperty -Path $Path -Name ForceAutoLogon -Value 1
}

如果Get-ItemProperty失敗,則密鑰必須不存在。 然后我們可以創建它! 如果Get-ItemProperty成功,則可以確保正確設置該值。 我可能使用了錯誤的注冊表關鍵字,但讓代碼說明了一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM