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

VB Script zur Statusabfrage eines hochfahrenden PCs

Frage Entwicklung VB for Applications

Mitglied: cbli

cbli (Level 1) - Jetzt verbinden

12.11.2010 um 16:24 Uhr, 3590 Aufrufe, 2 Kommentare

Grundsätzliches:

Mein Vater möchte von zu Hause per VPN und Remote Desktop auf seinen PC in der Firma zugreifen. Dieses habe ich mit einem VB Script realisiert.
Der PC zuhause und in der Firma haben Windows XP Prof. mit SP3 installiert.


Was bereits funktioniert:

Das Script stellt automatisch die VPN Verbindung her,fährt den PC in der Firma per Wake on Lan hoch und startet dann automatisch Remote Desktop.
Er kann sich dann anmelden und später trennt das Script die Verbindung und fährt auch vorher auf Wunsch den PC in der Firma herunter.


Was nicht funktioniert:
Obiges funktioniert nur wenn der PC in der Firma bereits hochgefahren ist. Wird er erst mit Hilfe des Scripts hochgefahren (was funktioniert) ,kommt gleich der
Remote Desktop Befehl,der natürlich fehlschlägt weil der PC in der kurzen Zeit noch nicht hochgefahren ist.
Ich habe mir seither mit dem WScript.Sleep Befehl geholfen,aber ich möchte es eigentlich so lösen,daß irgendwie der "Hochfahrstatus" des Remote PC´s abgefragt wird.
Erst wenn der Remote PC bis zum Anmeldebildschirm hochgefahren ist ,soll das Script den Remote Desktop Befehl starten.

Lässt sich das irgendwie realisieren ?

Hier noch mein momentanes Script:

Dim rdpdatei
rdpdatei = "192.168.115.93"
msgbox "Es wird nun die VPN Verbindung hergestellt",64,"Hinweis"
Set WSHShell = CreateObject("WScript.Shell")


' VPN Verbindung herstellen
wshshell.run "rasphone -d VPN-Office",,true


' Ping Befehl
strComputer = "Rolf"

Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& strComputer & "'")
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
WScript.Echo "PC " & strComputer & " ist nicht online." & vbcrlf & vbcrlf & "Der PC wird jetzt gestartet....." & vbcrlf & vbcrlf & "Bitte etwas Geduld - Remote Desktop startet automatisch sobald der PC hochgefahren ist"


' Externes WOL Programm mit MAC Adresse starten
wshshell.run "d:\mc-wol (MAC) /a (Broadcast IP)", 1, true ' Rolf MaC


else
msgbox "PC ist bereits Online !!",64,"Hinweis"
End If
Next

' Remote Desktop wird gestartet
wshshell.run "%systemroot%\system32\mstsc.exe /console /w:1280 /h:1024 /V:" & rdpdatei

' Schleife die auf Beendigung des MSTSC Prozesses abfragt
Do

strComputer = "."
strProcess = "mstsc.exe"
strProgPath = "%SystemRoot%\system32\mstsc.exe"

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '" & strProcess & "'")

Loop until colProcesses.Count = 0 ' Prozess läuft nicht mehr - Schleifenabruch


' Vebindung trennen und Remote PC herunterfahren
value = msgbox ("Soll der PC im Büro heruntergefahren werden, bevor die Verbindung getrennt wird ?",32 + vbYesNo,"Frage")

if value = vbyes then

Dim objShell, strComputer, strInput
Dim strShutdown
strComputer = "Rolf"

strShutdown = "shutdown -s -t 0 -f -m \\" & strComputer
set objShell = CreateObject("WScript.Shell")
objShell.Run strShutdown


msgbox "Verbindung wird jetzt getrennt",64,"Hinweis"
wshshell.run "rasphone -h VPN-Office"

end if

if value = vbno then
msgbox "Verbindung wird jetzt getrennt",64,"Hinweis"
wshshell.run "rasphone -h VPN-Office"
end if
Mitglied: ShitzOvran
12.11.2010 um 16:50 Uhr
und was ist, wenn du den rechner einfach solange anpingst, bis er eine erfolgreiche rückmeldung gibt... dann weißt du er ist bereit, und führt das screipt weiter aus
Bitte warten ..
Mitglied: cbli
12.11.2010 um 16:53 Uhr
Funktioniert nicht,da der Rechner ja schon kurz nach dem Einschalten auf den Ping Befehl reagiert,also lange bevor das OS hochgefahren ist.
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

Batch & Shell
gelöst HyperV-VM - Statusabfrage und Autostart mit Powershell (6)

Frage von Coreknabe zum Thema Batch & Shell ...

Visual Studio
gelöst VB: Batchprogramm: Resultat zurückgeben an VB Form (Textfeld) (7)

Frage von PixL86 zum Thema Visual Studio ...

VB for Applications
gelöst VB Skript für mehrere Batch Befehle (37)

Frage von freshman2017 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (15)

Frage von takvorian zum Thema Windows Server ...