Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
Kommentar vom Moderator Biber am 13.08.2009 um 20:34:26 Uhr
Verschoben von "Windows" nach "Batch & Shell".
GELÖST

Frage zu VB-Scripting

Frage Entwicklung Batch & Shell

Mitglied: awiterra

awiterra (Level 1) - Jetzt verbinden

13.08.2009, aktualisiert 20.08.2009, 5060 Aufrufe, 5 Kommentare

Hallo VBs mächtiges Volk ,

spiele hinundwieder mit vbs anmeldescripts rum. Habe folgendes Script zur änderung der Sprach- und Regionseinstellungen erstellt:

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

WSHShell.regwrite "HKCU\Control Panel\International\iCountry", "49", "REG_SZ"
WSHShell.regwrite "HKCU\Control Panel\International\iCurrDigits", "2", "REG_SZ"
WSHShell.regwrite "HKCU\Control Panel\International\iCurrency", "3", "REG_SZ"
WSHShell.regwrite "HKCU\Control Panel\International\iDate", "1", "REG_SZ"
WSHShell.regwrite "HKCU\Control Panel\International\iDigits", "2", "REG_SZ"..................

Das Script funktioniert, sieht allerdings nicht schön aus, da sehr viele Registryeinträge gesetzt werden müssen. Kann ich das Script schöner aussehen lassen, oder kann ich ein komplettes Registry-Hive mit dem Script ändern? Bin für alle Vorschläge dankbar.

Gruß
Mitglied: bastla
13.08.2009 um 18:39 Uhr
Hallo awiterra!

Bis auf ein "Herausheben" des gleichbleibenden Teiles, also etwa
01.
RegPath = "HKCU\Control Panel\International\" 
02.
 
03.
WSHShell.RegWrite RegPath & "iCountry", "49", "REG_SZ" 
04.
WSHShell.RegWrite RegPath & "iCurrDigits", "2", "REG_SZ" 
05.
WSHShell.RegWrite RegPath & "iCurrency", "3", "REG_SZ" 
06.
WSHShell.RegWrite RegPath & "iDate", "1", "REG_SZ" 
07.
WSHShell.RegWrite RegPath & "iDigits", "2", "REG_SZ"
lässt sich nicht allzuviel machen - das Auslagern der zuzuweisenden Werte in ein Array und Abarbeiten des Ganzen per Schleife wäre zwar möglich, sähe dann aber etwa so aus:
01.
RegPath = "HKCU\Control Panel\International\" 
02.
 
03.
Values = Array( _ 
04.
"""iCountry"", ""49"", ""REG_SZ""", _ 
05.
"""iCurrDigits"", ""2"", ""REG_SZ"", _ 
06.
... 
07.
"""iDigits"", ""2"", ""REG_SZ""") 
08.
 
09.
For Each V In Values 
10.
    WSHShell.RegWrite RegPath & V 
11.
Next
- keine echte Verbesserung, würde ich meinen ...

Als Alternative (um tatsächlich ein komplettes Registry-Hive zu ändern) könntest Du den entsprechenden Zweig mit allen gewünschten Werten exportieren und dann per
01.
RegFile = "\\Server\Share\Region.reg" 
02.
WSHShell.Run "regedit /s " & RegFile, 0, True
auf dem Zielrechner importieren.

Anmerkung: Alles ungetestet ...

Grüße
bastla
Bitte warten ..
Mitglied: awiterra
13.08.2009 um 19:47 Uhr
Hallo bastla, na das ist doch schonmal was
besten Dank für die schnelle Hilfe...

Gruß
Bitte warten ..
Mitglied: awiterra
20.08.2009 um 11:05 Uhr
Hab doch noch ein Anliegen: Beim ausführen der dritten Alternative bekomme ich einen Laufzeitfehler in Zeile 2, Zeichen 1. Als Fehler steht Objekt erforderlich "WSHShell".

Woran liegt das?

Gruß
Bitte warten ..
Mitglied: bastla
20.08.2009 um 14:36 Uhr
Hallo awiterra!

So wie auch bei den anderen Beispielen habe ich vorausgesetzt, dass es bereits weiter oben im Script eine Zeile
Set WshShell = WScript.CreateObject("WScript.Shell")
gibt - falls diese also fehlen sollte, wäre die Fehlermeldung damit zu erklären.

Grüße
bastla
Bitte warten ..
Mitglied: awiterra
20.08.2009 um 19:32 Uhr
Jetzt, wo du es sagst

Danke nochmal...
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

VB for Applications
gelöst VB Skript Excel Datei (3)

Frage von Frager zum Thema VB for Applications ...

Netzwerkmanagement
gelöst Eine kleine Frage zum DHCP-Server (8)

Frage von samet22 zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...