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, 3481 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 ..
Ähnliche Inhalte
Windows Update
Clients (Win10 1607) holen Updats vom Internet statt WSUS (5)

Frage von swisstom zum Thema Windows Update ...

Linux Tools
RDP-Clients ubuntu 16.04 (2)

Frage von Aranha zum Thema Linux Tools ...

LAN, WAN, Wireless
gelöst Interneteinschränkung anhand MAC-Adresse der Clients (16)

Frage von Colisspo zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...