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, 5162 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 ..
Ähnliche Inhalte
Netzwerkgrundlagen
gelöst Frage zu CSMA - CD und Basisbandübertragung (3)

Frage von p.wofl zum Thema Netzwerkgrundlagen ...

Visual Studio
gelöst Vb.net raw string in xdocument einfügen (6)

Frage von Herbrich19 zum Thema Visual Studio ...

Visual Studio
gelöst VB bestimmte Stelle im Bild highlighten wenn MouseOver Textbox? (9)

Frage von PixL86 zum Thema Visual Studio ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...