Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Wert in Registry per Batch ändern den User über Abfrage eingibt

Mitglied: cbli

cbli (Level 1) - Jetzt verbinden

21.09.2007, aktualisiert 24.09.2007, 10367 Aufrufe, 10 Kommentare

Hallo Alle

Ich brauche noch einen letzten Schubs damit meine Batch funktioniert.
Ich möchte einen Registry Wert (Win XP) per Batch ändern.
Dieser Wert soll vorher über die Batch (Usereingabe) abgefragt werden und danach an die reg datei als dword wert übergeben werden.
Die Usereingabe per Batch funktioniert schon,wie ich per Batch die Registry ändern kann weiss ich auch, ich hab nur keinen Plan wie ich den Wert den der User eingibt an die reg datei übergeben kann

Beispiel:

Inhalt der Reg Datei:


REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001



Ich möchte nun erreichen,daß der dword Wert durch den Wert den der User bei der Abfrage eingibt ersetzt wird und danach die Reg Datei in die Registry geschrieben wird.
Wie erreiche ich eine solche Übergabe ?


Vielen Dank für die Hilfe

Gruß
Claus
Mitglied: schregi82
21.09.2007 um 14:18 Uhr
du legst dir halt die möglichen werte unter wert1 - 3.reg ab und machst das über eine abfrage, früher choice:

01.
echo off 
02.
:start 
03.
set /P X= (1) Wert eins, (2) Wert zwei, (3) Wert 3 
04.
if /I "%X%"=="1" goto :1 
05.
if /I "%X%"=="2" goto :2 
06.
if /I "%X%"=="3" goto :3 
07.
  
08.
:1 
09.
regedit /s LW:\Pfad\Wert1.reg 
10.
goto weiter  
11.
 
12.
:2 
13.
regedit /s LW:\Pfad\Wert2.reg 
14.
goto weiter  
15.
  
16.
:3 
17.
regedit /s LW:\Pfad\Wert3.reg 
18.
goto weiter  
19.
  
20.
:weiter 

habs zwar nicht getestet, müsste aber funktionieren
eine direkte eingabe des wertes wird meiner meinung nicht funktionieren.
Bitte warten ..
Mitglied: Logan000
21.09.2007 um 14:21 Uhr
Ich würdes das als VBS realisieren.
01.
Set WshShell=WScript.CreateObject("WScript.Shell") 
02.
 
03.
Const RegKey = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive" 
04.
 
05.
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen 
06.
 
07.
' In RegSchreiben 
08.
WshShell.RegWrite RegKey , value , "REG_DWORD"
Bitte warten ..
Mitglied: cbli
21.09.2007 um 14:44 Uhr

du legst dir halt die möglichen werte
unter wert1 - 3.reg ab und machst das
über eine abfrage, früher choice:

echo off
:start
set /P X= (1) Wert eins, (2) Wert zwei, (3)
Wert 3
if /I "%X%"=="1" goto
:1
if /I "%X%"=="2" goto
:2
if /I "%X%"=="3" goto
:3

:1
regedit /s LW:\Pfad\Wert1.reg
goto weiter

:2
regedit /s LW:\Pfad\Wert2.reg
goto weiter

:3
regedit /s LW:\Pfad\Wert3.reg
goto weiter

:weiter

habs zwar nicht getestet, müsste aber
funktionieren
eine direkte eingabe des wertes wird meiner
meinung nicht funktionieren.


Danke
Das wäre natürlich eine Möglichkeit.
Bitte warten ..
Mitglied: cbli
21.09.2007 um 14:47 Uhr
Ich würdes das als VBS realisieren.
01.
> Set 
02.
> WshShell=WScript.CreateObject("WScript.Shell") 
03.
>  
04.
> Const RegKey = 
05.
> "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session 
06.
> Manager\Memory 
07.
> Management\DisablePagingExecutive" 
08.
>  
09.
> value = inputbox("Bitte Wert 
10.
> eingaben","DisablePagingExecutive") 
11.
> ' Wert abfragen 
12.
>  
13.
> ' In RegSchreiben 
14.
> WshShell.RegWrite RegKey , value , 
15.
> "REG_DWORD" 
16.
> 

Danke erstmal.
Deine Lösung würde mir sehr gefallen, leider hats nach 20 min probieren
nicht geklappt.
Er ändert den Wert nicht ab über das Script.
Wäre super wenn du es nochmal überprüfen könntest oder ich bin einfach auch nur zu doof,kann auch sein.

Gruß´
Claus
Bitte warten ..
Mitglied: schregi82
21.09.2007 um 15:37 Uhr
Ich will logan ja nicht die show stellen - aber bei mir funkts.

hast du auch das script in eine separate datei eingefügt ? zb. registry.vbs ?


INHALT REGISTRY.VBS

01.
> Set 
02.
> WshShell=WScript.CreateObject("WScript.Shell") 
03.
>  
04.
> Const RegKey = 
05.
> "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session 
06.
> Manager\Memory 
07.
> Management\DisablePagingExecutive" 
08.
>  
09.
> value = inputbox("Bitte Wert 
10.
> eingaben","DisablePagingExecutive") 
11.
> ' Wert abfragen 
12.
>  
13.
> ' In RegSchreiben 
14.
> WshShell.RegWrite RegKey , value , 
15.
> "REG_DWORD"

INHALT DEIN BATCHFILE .BAT

01.
  
02.
..... 
03.
 
04.
echo off 
05.
registry.vbs  
06.
  
07.
....


wobei die beiden dateien nun im selben ordner sein müssen.
batch und vbs verträgt sich nicht wirklich in einer datei
Bitte warten ..
Mitglied: cbli
21.09.2007 um 17:03 Uhr

Ich will logan ja nicht die show stellen
- aber bei mir funkts.


Bei mir jetzt auch,hatte in meiner Dämlichkeit einen Rechtschreibfehler übersehen.
Interessant wäre noch ob man den Bereich der zulässigen Werte irgendwie einschränken könnte.
Also z.B

nur Zahlen zulässig
oder nur Zahlen im Bereich von x bis y
oder nur Text
oder auch nur YES or NO

Ansonsten nochmals vielen Dank für eure Hilfe

Gruß
Claus
Bitte warten ..
Mitglied: miniversum
23.09.2007 um 14:12 Uhr
Interessant wäre noch ob man den Bereich der zulässigen Werte irgendwie einschränken könnte.
Also z.B

nur Zahlen zulässig
oder nur Zahlen im Bereich von x bis y
oder nur Text
oder auch nur YES or NO

Klar geht das. Ersetze/Ergänze das:
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
durch:
'nur Zahlen zulässig
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = false then
value = 0
end if

'nur Zahlen im Bereich von x bis y
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = true then
if value <= x and value >= y then
value = 0
end if
end if

'nur Text
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = true then
value = "War ne Zahl"
end if

'nur YES or NO
value = msgbox("Bitte Wert eingaben",vbyesno) ' Wert abfragen
if value = vbyes then
value = 1
else
value = 0
end if

miniversum
Bitte warten ..
Mitglied: cbli
24.09.2007 um 15:44 Uhr
> 'nur Zahlen zulässig
> value = inputbox("Bitte Wert
eingaben","DisablePagingExecutive")
' Wert abfragen
> if isnumeric(value) = false then
> value = 0
> end if


Habe jetzt folgendes Script gebastelt, welches auch funktioniert bis auf 1 Kleinigkeit


Set WshShell=WScript.CreateObject("WScript.Shell")

Const RegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDll"

value = inputbox("Bitte 1 für Aktivieren oder 0 für Deaktivieren eingeben","Dll´s immer aus dem Speicher entladen") ' Wert abfragen
if isnumeric(value) = false then
value = 3
end if
if value = 1 then
WshShell.RegWrite RegKey , value , "REG_DWORD"
Positiv = msgbox("Die Funktion wurde aktiviert")
else
if value = 0 then
WshShell.RegWrite RegKey , value , "REG_DWORD"
Negativ = msgbox("Die Funktion wurde deaktiviert")
else
Fehler = msgbox ("Bitte gültigen Wert eingeben")
end if
end if


Wenn ich bei der Inputbox auf abbrechen klicke deaktiviert er die Funktion und ich bekomme auch das entsprechende
Infofenster eingeblendet.
Wie kann ich das unterbinden ?
Klicke ich auf ok, bekomme ich die Fehler msgbox.
Hat das was mit errorlevel zu tun ?

Vielen Dank

Gruß
Claus

PS: Ich habe seither mit Batches gearbeitet und versuche mich gerade mit VBS,bin also noch absoluter Neuling.
Bitte warten ..
Mitglied: Logan000
24.09.2007 um 16:00 Uhr
Wenn ich bei der Inputbox auf abbrechen klicke deaktiviert er die Funktion und ich
bekomme auch das entsprechende Infofenster eingeblendet.
Wie kann ich das unterbinden ?

Gibst du nichts ein (Abbrechen) dann ist value keine zahl.
durch isnumeric(value) wird value in 0 umgewandelt.

Prüf vorher auf <>""

01.
value = inputbox("Bitte 1 für Aktivieren oder 0 für Deaktivieren eingeben","Dll´s immer aus dem Speicher entladen") ' Wert abfragen 
02.
If value<>"" Then 
03.
    ......  
04.
end if 
Bitte warten ..
Mitglied: cbli
24.09.2007 um 16:57 Uhr
Prüf vorher auf <>""

<code>
value = inputbox("Bitte 1 für
Aktivieren oder 0 für Deaktivieren
eingeben","Dll´s immer aus
dem Speicher entladen") ' Wert
abfragen
If value<>"" Then
......
end if

So hats schließlich funktioniert

If value="" then
abbrechen = msgbox ("Das Script wird jetzt beendet")
WScript.Quit
else
end if

If value<>"" Then

War das korrekt so und hab ich um 4 Ecken gedacht ?
Hat so nicht funktioniert oder gibts da noch ne Lösung ?

Vielen Dank für deine Hilfe.

Gruß
Claus
Bitte warten ..
Ähnliche Inhalte
Windows Server
SCCM2012 Abfrage eines Registry Wertes
gelöst Frage von busteronWindows Server5 Kommentare

Hallo an die Gemeinschaft, ich hänge momentan an ein Problem wo ich gerade nicht weiter weiß. Weiß jemand ob ...

Windows Server
Terminalserver user können Registry ändern. Wie kritisch ist das?
gelöst Frage von LaefissWindows Server8 Kommentare

Guten Tag zusammen, nach einer ausführlichen Suche in den handelsüblichen Suchmaschinen fehlt mir leider immer noch eine Antwort. (u.a. ...

Windows Tools
Registry eines anderen PCs per batch ändern
Frage von schade00Windows Tools5 Kommentare

Hi, Hintergrund ist folgender: Aus Datenschutzgründen mussten wir den Dameware Zugriff "auf Rückfrage" umstellen. Sitzt aber niemand an dem ...

Batch & Shell
Wert in .xml per Batch ändern
Frage von KingPickBatch & Shell3 Kommentare

Hallo an alle, ich stehe leider seit kurzem vor einem "kleinen" Problem. Zuerst: Ja ich weiß so ein ähnliches ...

Neue Wissensbeiträge
Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 10 MinutenMicrosoft

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...