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

Umboot VBS mit Menüauswahl

Mitglied: robcomboy

robcomboy (Level 1) - Jetzt verbinden

09.04.2007, aktualisiert 02:52 Uhr, 4369 Aufrufe, 4 Kommentare

Mit Menüauswahl vor dem Booten

Hallo, ich hab hier ein VBS Script, mit dem ich in der Lage bin aus Wndows heraus meine entsprechenden
Betriebssysteme zu booten.
Kleines Manko an diesem VBS ist, dass ich nachdem ich die Auswahl für das zu bootende Os getroffen habe
nach dem Neustart keine Möglichkeit mehr habe das zu bootende Os auszuwählen, für den Fall dass ich mich kurzfristig umentscheide.
Lässt sich das hier irgendwie realisieren?
Am Besten noch mit einem Timeout von 15 Sekunden.

Hier der Code


Set Myshell = WScript.CreateObject("WScript.Shell")
Set Myfolder = CreateObject ("Scripting.FileSystemObject")
On Error Resume Next

'Die folgenden drei Werte können angepasst werden

'
Bootini = "C:\Boot.INI"
Bootbak = "C:\Boot.ORI"
TimeOut = 15
'


If (MyFolder.FileExists(Bootbak)) Then
MyFolder.CopyFile Bootbak, Bootini, True
End If

Set Bootread = Myfolder.OpenTextFile(Bootini, 1, false)

Do While Bootread.AtEndOfStream <> True
Zeilenzahl=Zeilenzahl+1
Bootread.SkipLine
Loop
Bootread.Close

ReDim Os(Zeilenzahl)
Set Bootread = Myfolder.OpenTextFile(Bootini, 1, false)
Do Until Bootread.AtEndOfStream = True
n=n+1
Os(n) = Bootread.ReadLine
Loop
Bootread.Close

For n=1 to Zeilenzahl
If Os(n) = "[operating systems]" Then
OsZeile = n+1
ElseIf InStr(1, Os(n), "timeout=", 1) = 1 Then
ToutZeile = n
ElseIf InStr(1, Os(n), "default=", 1) = 1 Then
DefZeile = n
End If
Diff = DefZeile-ToutZeile
Next

ReDim ClearName(Zeilenzahl)
ReDim SysName(Zeilenzahl)

For n = OsZeile to Zeilenzahl
Namepos = InStr(Os(n), "=")
SysName(n) = left(Os(n), Namepos - 1)
ClearName(n) = Mid(Os(n), Namepos + 2)
AnfPos = InStr(1, ClearName(n), Chr(34), 1)
ClearName(n) = Mid(ClearName(n), 1, Anfpos-1)
Liste = Liste +vbcr +vbcr & n-OsZeile+1 & ". " & ClearName(n)
Next

Umboot = InputBox("Welches Betriebsystem soll gestartet werden? Geben Sie bitte die entsprechnde Zahl ein." +vbcr+vbcr & "0. Nur herunterfahren" & Liste , "Umboot-Menü für Windows 98/98SE/ME/2000/XP", 0)

MyFolder.CopyFile Bootini, Bootbak, True

If Umboot = "" Then
Wscript.quit
ElseIf Umboot = 0 Then
a = MsgBox("Wollen Sie den Rechner wirklich herunterfahren?", 4, "herunterfahren?")
If a = 7 Then wscript.quit
BsName = MyShell.Regread("HKLM\Software\Microsoft\Windows\CurrentVersion\ProductName")
If BsName = "Microsoft Windows 98" or BsName = "Microsoft Windows ME" Then
MyShell.Run("rundll32.exe shell32.dll,SHExitWindowsEx 1")
Else
Set Bsse = GetObject("winmgmts:{(Shutdown) }./root/cimv2"). _
ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each Bs In Bsse
Bs.shutdown
Next
End If
wscript.quit
End If
m = Umboot + OsZeile - 1
a = MsgBox("Wollen Sie wirklich das Aktuelle OS beenden und " & ClearName(m) & " starten?", 4, "Umbooten?")
If a = 7 Then wscript.quit
Set Bootwrite = Myfolder.OpenTextFile(Bootini, 2, false)
If Diff > 0 Then
First = ToutZeile
Sec = DefZeile
ElseIf Diff < 0 Then
First = DefZeile
Sec = ToutZeile
End If

For n=1 to First-1
BootWrite.WriteLine Os(n)
Next
BootWrite.Writeline "timeout=" & TimeOut
For n= First+1 to Sec-1
BootWrite.Writeline Os(n)
Next
Bootwrite.Writeline "default=" & SysName(m)
For n = Sec+1 to Zeilenzahl
Bootwrite.Writeline Os(n)
Next

BsName = MyShell.Regread("HKLM\Software\Microsoft\Windows\CurrentVersion\ProductName")
If BsName = "Microsoft Windows 98" or BsName = "Microsoft Windows ME" Then
MyShell.Run("rundll32.exe shell32.dll,SHExitWindowsEx 2")
Else
Set Bsse = GetObject("winmgmts:{(Shutdown)}
./root/cimv2"). _
ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each Bs In Bsse
Bs.reboot
Next
End if




Hier habe ich nur da Problem, dass das Menü nicht angezeigt wird und sich der PC
nicht die Eingabe merkt, die ich unter Windows gemacht habe.
Lässt sich das irgendwie ändern?


Danke schon mal für Eure Hilfe.

Grüße, robcomboy
Mitglied: 46503
09.04.2007 um 02:29 Uhr
Kleines Manko an diesem VBS ist, dass ich nachdem ich die Auswahl für das zu
bootende Os getroffen habe nach dem Neustart keine Möglichkeit
mehr habe das zu bootende Os auszuwählen, für den Fall dass ich
mich kurzfristig umentscheide.

STRG-Taste festhalten.

Ob shutdown oder rundll benutzt werden muss zum Neustart, kann man auch über das Environment feststellen: Bei Win9x ist die Environmentvariable OS nicht vorhanden.

Warum eigentlich so kompliziert? 5 x boot.ini erstellt, je 1 für das entsprechende OS mit veränderter Zeile default= und per Batch umkopieren auf C:\Boot.ini.
Bitte warten ..
Mitglied: robcomboy
09.04.2007 um 02:33 Uhr
und per Batch umkopieren auf
C:\Boot.ini.

Wie lässt sich sowas denn realisieren? Hab nicht wirklich Ahnung vom
Batch Programmieren.
Bitte warten ..
Mitglied: 46503
09.04.2007 um 02:45 Uhr
Man listet die möglichen Systeme per echo auf und erstellt mit choice (choice /?) eine Abfrage, welches System gestartet werden soll.

Dann kopiert man die entsprechende dazu passende Boot.xxx mit copy nach c:\boot.ini und ruft shutdown bzw. rundll32 ..... auf, je nachdem, ob die Variable OS vorhanden ist.

Informationen zu Batchdateien und Befehlszeilenreferenz findet man in der Hilfe zu Windows XP.
Bitte warten ..
Mitglied: robcomboy
09.04.2007 um 02:52 Uhr
Ok, danke ich mach mich da ma dran.
Grüße, robcomboy
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen)

gelöst Frage von Luuke257Batch & Shell5 Kommentare

Hallo zusammen! Vorweg, ich bin absoluter neuling im Scripten, ich habe mir das alles nur so zusammengebastelt und versuche ...

Entwicklung

Chat via VBS

Frage von Questionmark93Entwicklung

Hey Community, wollte mal Fragen ob jmd auf die Schnelle ein VBS Skript hat das als "Chat" genutzt werden ...

VB for Applications

VBS - Vor- und Nachnamen auslesen

Frage von Ah3n0bar6usVB for Applications2 Kommentare

Ich könnte noch einmal (teuren) Rat gebracuhen. Ich versuche mir dem u.a. Script den kompletten Namen eines Nutzers vom ...

Batch & Shell

Variable aus VBS in Batch einlesen

gelöst Frage von racer1601Batch & Shell4 Kommentare

Hallo ich habe das Problem das ich die Variable "Ordner" aus einem VBS Script nicht in meine Batch bekomme. ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement13 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware12 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android12 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...