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
GELÖST

.reg mit VB erstellen

Frage Entwicklung VB for Applications

Mitglied: Oli82

Oli82 (Level 1) - Jetzt verbinden

10.11.2006, aktualisiert 21.11.2006, 7274 Aufrufe, 6 Kommentare

Hallo!

Bin recht neu hier und habe gleich mal eine Frage!
Ich habe für Kunden eine Batchdatei geschrieben, die UltraVNC installiert und konfiguriert.
Dabei wird auch eine .reg in die Registry importiert.
Da dies Installation immer das gleiche Passwort hat, wollte ich dem Kunden die Möglichkeit geben, dass er bei der Installation das Passwort selbst bestimmen kann.

Dazu wollte ich ein Script schreiben, was die vorhandene .reg öffnet, sich dem Kunden eine Eingabebox öffnet in der ein Platzhalter steht wie z.B. "Passwort hier eingeben", dort das Passwort, oder die Variable eingegeben wird und die veränderte .reg wieder gespeichert wird. Das Importieren der .reg erfolgt erst später im Script.

Die Installation der Batchdatei soll dann erst weiter laufen, wenn die Eingabebox geschlossen wurde.

Kann mir dabei jemand helfen?

Hier der Ablaufplan:

- install.bat anklicken
- Eingabebox öffnet sich "Bitte Passwort vergeben"
- Installation beginnt
- .reg wird importiert
- Setup fertig
Mitglied: bastla
10.11.2006 um 12:53 Uhr
Hallo Oli82!

Hilft Dir folgendes Grundgerüst:
01.
'InstReg.vbs 
02.
sInstReg = "D:\Inst.reg" 
03.
sReg1 = "D:\Reg1.txt" 
04.
sReg2 = "D:\Reg2.txt" 
05.
Set fso = WScript.CreateObject("Scripting.FileSystemObject") 
06.
sEingabeText = "Bitte gewünschtes Passwort eingeben!" 
07.
Do 
08.
	sPW1 = InputBox(sEingabeText) 
09.
	sEingabeText = "Eingaben stimmten nicht überein." & vbCrLF & "Bitte Passwort neu eingeben!" 
10.
	sPW2 = InputBox("Bitte Passwort wiederholen!") 
11.
Loop Until sPW1 <> "" And (sPW1 = sPW2) 
12.
Set oInstReg = fso.OpenTextFile(sInstReg, 2, True) 
13.
Set oReg1 = fso.OpenTextFile(sReg1, 1) 
14.
Set oReg2 = fso.OpenTextFile(sReg2, 1) 
15.
oInstReg.Write oReg1.ReadAll & sPW1 & vbCrLF & oReg2.ReadAll 
16.
oInstReg.Close 
17.
oReg1.Close 
18.
oReg2.Close 
19.
set fso = Nothing
Vorarbeiten: "Reg1.txt" und "Reg2.txt" erstellen - die Datei "Reg1.txt" enthält den ersten Teil der Settings bis unmittelbar vor den Platz des Passworts, die Datei "Reg2.txt" den Rest ab der nächsten Zeile.

Die Ergebnisdatei "Inst.reg" besteht dann aus: InhaltReg1.txtPasswortZeilenschaltungInhaltReg2.txt

Aufruf des Scripts im Batch mit
01.
CScript //nologo D:\InstReg.vbs
Zu überlegen wäre noch eine Abbruchmöglichkeit (mit leerem Passwort oder entsprechender Schaltfläche in der InputBox) und Rückmeldung über WScript.Quit(1) zur Auswertung des Errorlevels im Batch.

Die Pfade sollten auch noch variabel gestaltet werden.

HTH
bastla
Bitte warten ..
Mitglied: Diskilla
21.11.2006 um 12:47 Uhr
Ich weiß ja nicht, ob das Oli82 geholfen hat, mir aber.
Danke schön das war genau das was ich gesucht hab.
Bitte warten ..
Mitglied: Biber
21.11.2006 um 20:40 Uhr
Ich hätte zwar die Variante gewählt, nur eine Inst.reg mitzuliefern, in der als Passwort "StandardPW" steht.
Und diesen Text "StandardPW" gleichzeitig als Suchstring für ein Wechseln&Ersetzen verwendet, falls der Benutzer ein neues Passwort haben will.

Aber davon abgesehen... auch aus meiner Sicht ist die Frage mit bastla's Lösung vollständig beantwortet.
Und sollte mal schnellstens so einen grünen Haken bekommen.

Oder ist noch etwas offen, oli82?

Grüße
Biber
Bitte warten ..
Mitglied: bastla
21.11.2006 um 21:13 Uhr
@Biber
Etwas in der Art (mit VB natürlich viel schöner ):
01.
... 
02.
set /p r=<Inst.reg 
03.
:VonVorne 
04.
echo Sie können jetzt ein neues Passwort vergeben. 
05.
echo. 
06.
echo Wollen Sie als Passwort "StandardPW" verwenden, 
07.
echo drücken Sie bitte zweimal nur die Eingabetaste! 
08.
echo. 
09.
set /p pw1=Bitte geben Sie das gewünschte Passwort ein: 
10.
set /p pw2=Geben Sie bitte das Passwort nochmals ein: 
11.
if [%pw1%] NEQ [%pw2%] cls & goto :VonVorne 
12.
echo %r:StandardPW=%pw1% > Inst.reg 
13.
...
Wie lang darf eigentlich der Inhalt einer Variablen sein?

Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.11.2006 um 22:06 Uhr

@bastla
Nein, nein... *lach*

Das geht schon in Ordnung mit einer VBS-Inputbox für den End-Benutzer...
Da wollte ich nun wirklich nicht hinarbeiten auf eine Lösung auf dem CMD-Prompt..*gg

Ich meinte es so:
01.
'InstReg.vbs (Bibervariante) 
02.
sInstReg = "D:\Inst.reg" 
03.
sDefaultReg="D:\Default.reg" 
04.
Set fso = WScript.CreateObject("Scripting.FileSystemObject") 
05.
sEingabeText = "Bitte gewünschtes Passwort eingeben!" 
06.
Do 
07.
    sPW1 = InputBox(sEingabeText) 
08.
    sEingabeText = "Eingaben stimmten nicht überein." & vbCrLF & "Bitte Passwort neu eingeben!" 
09.
    sPW2 = InputBox("Bitte Passwort wiederholen!") 
10.
Loop Until sPW1 <> "" And (sPW1 = sPW2) 
11.
<b>Set oInstReg = fso.OpenTextFile(sInstReg, 2, True)     'Die wird neu angelegt 
12.
Set oDefaultReg = fso.OpenTextFile(sDefaultReg, 1)      'Die wird nur gelesen 
13.
oInstReg.Write Replace(oDefaultReg.ReadAll, "StandardPW", sPW1)</b> 
14.
oInstReg.Close 
15.
oDefaultReg.Close 
16.
set fso = Nothing
...hinterher habe ich IMMER eine Inst.reg - entweder als 1:1-Kopie der Default.reg ODER eben mit dem Passwort gemäß Benutzerwünschen.

Außerdem: im Batch würde es so nicht klappen, weil der CMD-Interperter kein "ReadAll"der ganzen Datei machen könnte... das "set /p-<" liest nur bis zum CRLF [oder bis chr(0)].

Zur zweiten Frage: Unter WinXP Pre-SP1 bin ich mal bei irgendeinem Spontan-Oneliner auf den Fehler "zu lange Eingabezeile" gelaufen bei na...so um die 2040 Zeichen.
Das dürfte auch die Grenze für den Inhalt einer Umgebungsvariablen sein.

Komplette Dateien oder das SP4 in eine Umgebungsvariable einlesen oder Binär-Inhalte wie in einem CLOB halten.... das geht mit CMD-Befehlen nicht.
Oder ist zumindest umständlich.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
21.11.2006 um 22:29 Uhr
@Biber
War auch nur Spaß ...
... und trotz meiner Ausflüge in Dein Revier bleibe ich lieber bei dem, was ich weniger nicht so gut kann.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Per VB Script eine Webverknüpfung erstellen
gelöst Frage von wilyfoxVB for Applications2 Kommentare

Hallo, ich möchte per Script eine Verknüpfung auf dem Desktop erstellen. Die Verknüpfung wird auch erstellt nur das gewünschte ...

Visual Studio
VB Graph erstellen der dem vom Taskmanager ähnelt (GDI ?)
gelöst Frage von Aicher1998Visual Studio4 Kommentare

Hallo ich würde gerne einen Graph erzeugen der dem vom Taskmgr ähnelt. Das ganze sollte etwa so aufrufbar sein: ...

Windows Tools
Reg Auswertung mit Powershell
Frage von Bommi1961Windows Tools1 Kommentar

Hallo zusammen, ich suche nach einer Möglichkeit einen Bestimmtes Programm in der Reg auf vielen System zusuchen. Wie geht ...

Windows 10
REG Query HKLM
Frage von AtoAtoWindows 103 Kommentare

Hallo mit REG Query HKLM /F "PC 12" /S In Powershell kann man in HKLM-Baum nach PC 12 suchen. ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 43 MinutenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 7 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 9 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 12 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...