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

Clients dynamisch herunterfahren

Frage Entwicklung VB for Applications

Mitglied: OhnePower

OhnePower (Level 1) - Jetzt verbinden

09.11.2007, aktualisiert 10.11.2007, 3476 Aufrufe, 4 Kommentare

Hallo...

bei uns läuft ein Windows 2003 SBS und einige XP Clients.

Zum Feierabend soll der Server bestimmte Clients automatisch herunterfahren... das hört sich noch nicht allzu heftig an...

Aber: Das Script soll aus dem AD eine Computer OU auslesen, prüfen ob die Rechner online sind, gegebenenfalls herunterfahren und alles protokollieren

Da ich ein absoluter Neuling in Sachen Scripting bin, bitte ich hier um Hilfe!!

Struktur:
1. OU im AD ansprechen
2. Computerobjekte auf online prüfen - falls zutreffend herunterfahren
3. Protokoll mit Datum und Zeit


Ich hoffe es kann jemand helfen!


VG Maik
Mitglied: OhnePower
09.11.2007 um 18:17 Uhr
Hey...

das ist schon nicht schlecht...

Nur wie baue ich das ganze zusammen??
Bitte warten ..
Mitglied: bastla
09.11.2007 um 21:42 Uhr
Hallo OhnePower!

Das könnte schematisch so aussehen:
01.
Const strLogFile = "D:\ShutDownLogs.txt" 
02.
 
03.
Const ForAppending = 8 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
 
06.
'Protokolldatei öffnen, Daten werden an bestehende Datei angefügt 
07.
Set objLogFile = fso.OpenTextFile(strLogFile, ForAppending, True) 
08.
 
09.
Set colItems = GetObject _ 
10.
    ("LDAP://ou=Servers, dc=fabrikam, dc=com") 
11.
colItems.Filter = Array("Computer") 'nur Computer-Objekte der OU 
12.
 
13.
For Each objItem in colItems 'objItem ist jeder einzelne gefundene Computer 
14.
	strCompName = objItem.CN 'Namen des Computers speichern 
15.
 
16.
	'Timestamp (Datum und Zeit getrennt) ermiteln 
17.
	strTime = CStr(Time) 'Zeit als Text speichern 
18.
	 
19.
	dtDate = Date 'Datum zwischenspeichern, ... 
20.
	'... als JJJJ-MM-TT formatieren und als Text speichern 
21.
	strDate = Year(dtDate) & "-" &_ 
22.
		Right("0" & CStr(Month(dtDate)), 2) & "-" & _ 
23.
		Right("0" & CStr(Day(dtDate)), 2) 
24.
			 
25.
	If IsOnline(strCompName) Then 'auf Erreichbarkeit prüfen 
26.
		Shutdown strCompName 'Computer herunterfahren 
27.
		'Logeintrag erstellen 
28.
		strLogEntry = strDate & vbTab & strTime & vbTab & strCompName & vbTab & " wurde heruntergefahren." 
29.
	Else 
30.
		'Logeintrag erstellen 
31.
		strLogEntry = strDate & vbTab & strTime & vbTab & strCompName & vbTab & " war offline/ausgeschaltet." 
32.
	End If 
33.
 
34.
	'Logeintrag schreiben 
35.
	objLogFile.WriteLine strLogEntry 
36.
	 
37.
Next 
38.
 
39.
objLogFile.Close 'Protokolldatei schließen 
40.
'.................... Ende Hauptprogramm .................... 
41.
 
42.
 
43.
Function IsOnline(strComp) 
44.
 
45.
On Error Resume Next 
46.
Set objShell = CreateObject("WScript.Shell") 
47.
Set objExec = objShell.Exec("ping -n 2 -w 1000 " & strComp) 'CMD-Ping verwenden 
48.
strPingResults = LCase(objExec.StdOut.ReadAll) 'gesamte Ping-Ausgabe (in Kleinbuchstaben) speichern ... 
49.
On Error Goto 0 
50.
 
51.
If InStr(strPingResults, "antwort von") Then '... und überprüfen 
52.
  IsOnline = True 
53.
Else 
54.
  IsOnline = False 
55.
End If 
56.
 
57.
End Function 
58.
 
59.
 
60.
Sub Shutdown(strComputer) 
61.
 
62.
Const SHUTDOWN = 1 
63.
Set objWMIService = GetObject _ 
64.
	("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _ 
65.
	strComputer & "\root\cimv2") 
66.
 
67.
Set colOperatingSystems = objWMIService.ExecQuery _ 
68.
	("Select * from Win32_OperatingSystem") 
69.
  
70.
For Each objOperatingSystem in colOperatingSystems 
71.
	objOperatingSystem.Win32Shutdown(SHUTDOWN) 
72.
Next 
73.
 
74.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: OhnePower
10.11.2007 um 13:31 Uhr
Hey bastla...

wow...
Vielen Dank erstmal!!!



Gruß Maik
Bitte warten ..
Neuester Wissensbeitrag
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(2)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Windows Server
gelöst Drucker Verteilung an Clients - Windows Server 2012 R2 (10)

Frage von Intruder0001 zum Thema Windows Server ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (21)

Frage von oel-auge zum Thema Router & Routing ...

Windows 7
Win7 Clients fireren immer wieder ein (20)

Frage von TrialAndError zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...