Den Registrierungswertstatus abfragen und den Computernamen als Registrierungswert verwenden

3

Ich habe ein gemacht .reg Datei, in der ich bestimmte Registrierungswerte einstelle. aber ich muss vor und nach der Situation einen Ausdruck der Situation haben.

Wie kann ich also alle Reg-Werte (innerhalb dieser Regdatei) problemlos auslesen? Und ist es möglich, einen Registrierungswert mit einzugeben %computer name% Damit diese Registrierung beispielsweise den aktuellen Computernamen verwendet:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WinLogon
"AutoAdminLogon"="REG_SZ:1"
"AutoLogonDomain"="REG_SZ:%ComputerName%"
"AutoLogonUser"="REG_SZ:User1"
"DefaultDomain"="REG_SZ:%ComputerName%"
"DefaultDomainName"="REG_SZ:%ComputerName%"
"DefaultUsername"="REG_SZ:User1"
Joep
quelle

Antworten:

0

Ich bin kein Experte, aber ich hoffe, ich kann Ihnen helfen :)
Ich habe eine Batch-Datei mit Hilfe verschiedener Websites und Antworten von hier zusammengeworfen.
Dieses Skript liest die aktuellen Registrierungswerte und gibt sie an die Konsole aus.
Dann werden die Registrierungswerte mit den gewünschten Werten hinzugefügt und erneut gedruckt, damit Sie die Änderungen sehen können.
Ich bin mir ziemlich sicher, dass Sie es viel optimieren können, aber es sollte ausreichen, um Ihnen einen Start zu geben.

@echo OFF
echo "Current values..."
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonDomain
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonUser
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomain
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUsername

echo "Now performing the changes..."
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /f /v AutoAdminLogon /t REG_SZ /d 1

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /f /v AutoLogonDomain /t REG_SZ /d %ComputerName%

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /f /v AutoLogonUser /t REG_SZ /d User1

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /f /v DefaultDomain /t REG_SZ /d %ComputerName%

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /f /v DefaultDomainName /t REG_SZ /d %ComputerName%

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /f /v DefaultUsername /t REG_SZ /d User1

echo "Printing out new values..."
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonDomain
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonUser
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomain
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUsername
pause

Kopieren Sie es in eine Textdatei und ändern Sie die Dateiendung in .cmd
Die folgenden Seiten haben mir bei der Erstellung geholfen.
Wie finde ich den Namen des PCs in einem Batch-Skript?
Schlüssel zur Registrierung hinzufügen
NT-Registry mit REG-Abfrage lesen Kann ein Registrierungseintrag über ein .bat / .cmd-Skript geändert werden?

benjamin
quelle
Ich wollte dies mit Powershell machen, aber das funktioniert auch! Thnks!
Joep
Wie mache ich das mit PS: Funktion Get-RegistryValue {param ([Parameter (Mandatory = $ true)] $ RegistryKey) $ key = Get-Item -Path "Registry :: $ RegistryKey" $ key.GetValueNames () | ForEach-Objekt {$ name = $ _ $ rv = 1 | Select-Object -Property Name, Type, Value $ rv.Name = $ name $ rv.Type = $ key.GetValueKind ($ name) $ rv.Value = $ key.GetValue ($ name) $ rv}} Get-RegistryValue "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System"
Joep
Was kann ich tun, wenn die Registrierung nicht existiert? Kann ich den Fehler "drucken" oder kann ich ihn per Batchdatei hinzufügen lassen
Joep
Können Sie bitte weitere Informationen formulieren oder hinzufügen? Ich verstehe das nicht ganz
benjamin
REG QUERY "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon" / v AutoAdminLogon & gt; nul, wenn% errorlevel% equ 0 echo ("Schlüssel AutoAdminLogon existiert") else ("Schlüssel ist nicht vorhanden") else ("Schlüssel ist nicht vorhanden") Ich weiß, wann der Schlüssel nicht vorhanden ist, aber ich arbeite nicht. Außerdem möchte ich den Registrierungsschlüssel hinzufügen, wenn er nicht vorhanden ist
Joep
0

das hat für mich funktioniert: REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon >nul Wenn% errorlevel% equ 0 Echo-Taste AutoAdminLogon vorhanden ist || Schlüssel AutoAdminLogon ist nicht vorhanden Sie benötigen aber immer noch die Add-Funktion, wenn der Registrierungsschlüssel nicht vorhanden ist ...

Joep
quelle