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

Welche Rechner sind nachts eingeschaltet

Frage Entwicklung

Mitglied: Deboe1986

Deboe1986 (Level 1) - Jetzt verbinden

27.08.2009, aktualisiert 10:43 Uhr, 3837 Aufrufe, 9 Kommentare

Hallo zusammen,

wir wollen überprüfen, welche Rechner nachts eingeschaltet sind.
Wie könnte man das grundsätzlich abfragen?

Hab da an ein Script gedacht, dass nacht an verschiedenen Uhrzeiten die Rechner
pingt und diese (wenn sie an sind) zurückgibt in einer log-Datei...
Wäre so etwas in der Richtung möglich?

Für jede Hilfe und Anregung wäre ich dankbar!

Grüße,
DB
Mitglied: brammer
27.08.2009 um 10:47 Uhr
Hallo,

einfach nachts mit einem Tool wie "netscan" das Netzwerk einmal durch pingen (mit Namensauflösung) und schon hast du eine Rückmeldung.

brammer
Bitte warten ..
Mitglied: hajowe
27.08.2009 um 11:05 Uhr
Hallo,

Ein Ping wird da nicht reichen.
Es gibt Netzwerkkarten die Remote per Netz duch die Netzkarte hochgefahren werden.
Ich kann mir vorstellen das da die unter Saft stehen auch auf einen Ping reagieren.
Bitte warten ..
Mitglied: Deboe1986
27.08.2009 um 11:49 Uhr
Hallo,

wollen ein Script per Schedule Task üebr Landesk nachts ausführen.
Habe im Internet dieses Script gefunden:

01.
strComputer = "." ' Local computer 
02.
 
03.
set objWMIDateTime = CreateObject("WbemScripting.SWbemDateTime") 
04.
set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
05.
set colOS = objWMI.InstancesOf("Win32_OperatingSystem") 
06.
for each objOS in colOS 
07.
	objWMIDateTime.Value = objOS.LastBootUpTime 
08.
	Wscript.Echo "Last Boot Up Time: " & objWMIDateTime.GetVarDate & vbcrlf & _ 
09.
		"System Up Time: " &  TimeSpan(objWMIDateTime.GetVarDate,Now) & _ 
10.
		" (hh:mm:ss)" 
11.
next 
12.
 
13.
Function TimeSpan(dt1, dt2)  
14.
	' Function to display the difference between 
15.
	' 2 dates in hh:mm:ss format 
16.
	If (isDate(dt1) And IsDate(dt2)) = false Then  
17.
		TimeSpan = "00:00:00"  
18.
		Exit Function  
19.
        End If  
20.
  
21.
        seconds = Abs(DateDiff("S", dt1, dt2))  
22.
        minutes = seconds \ 60  
23.
        hours = minutes \ 60  
24.
        minutes = minutes mod 60  
25.
        seconds = seconds mod 60  
26.
  
27.
        if len(hours) = 1 then hours = "0" & hours  
28.
  
29.
        TimeSpan = hours & ":" & _  
30.
            RIGHT("00" & minutes, 2) & ":" & _  
31.
            RIGHT("00" & seconds, 2)  
32.
End Function 
Nun sollen die Ergebnisse (+Rechnername und Anmeldename) in einer Log-Datei auf dem Netzlaufwerk X:\ im Ordner "_TEMP" gespeichert werden... Wie bastel ich das nun zusammen? Kann mir da evlt. einer helfen? Vielen Dank schonmal!
Bitte warten ..
Mitglied: 81825
27.08.2009 um 11:58 Uhr
Auf die Problematik, dass ein Zugriff auf einen Rechner im heruntergefahrenen Zustand den Rechner wieder aufwecken könnte, wurdest du ja bereits aufmerksam gemacht.
Also wäre es zunächst mal erforderlich, dies zu verhindern.

Wenn es reicht, die Rechner, die eingeschaltet sind, einfach runterzufahren, könntest du psshutdown mit einer Liste der möglichen Rechnernamen benutzen, um sie herunterzufahren.
Bitte warten ..
Mitglied: Deboe1986
27.08.2009 um 13:15 Uhr
Hi greypeter, danke noch einmal für die Antworten.

Damit kein Rechner aufgeweckt wird, wollen wir dieses Script mit Landesk (Agent ist auf jedem System installiert) verteilen und ausführen. Landesk spricht lediglich die Rechner an, die auch online sind - alle anderen springen in "Failed" - Status: "Off" - Cannot Find Agent.

Um das herunterfahren geht es vorerst mal nicht, in erster Linie geht es darum festzustellen, wieviele Rechner an sind (und dann zu schauen, welche davon on sein müssen und welche nicht). Deshalb auch das Script mit der Log-Datei.
Bitte warten ..
Mitglied: 81825
27.08.2009 um 13:34 Uhr
Um festzustellen, ob ein Rechner online ist, muss er doch erst mal angesprochen werden. Und durch dieses Ansprechen wird er doch möglicherweise aufgeweckt.
Oder übersehe ich da etwas? Die Arbeitsweise bzw. Funktionalität von LanDesk ist mir nicht bekannt.

Wenn das so klappen sollte, wie du dir das vorstellst, ist es ja ok.
Bitte warten ..
Mitglied: Deboe1986
27.08.2009 um 14:49 Uhr
Klar wäre es möglich sie aufzuwecken, aber das muss extra in der Task angegeben werden. Tut man das nicht, sollte auch nichts passieren. Desweiteren funktioniert das wake-up ja nur, wenn eine bestimmte byte-sequenz in den gesendeten Paketen ist - diese hat ping normal nicht. Aber erst brauch ich mal das fertige Script, dann kann alles getestet werden .
Bitte warten ..
Mitglied: 81825
27.08.2009 um 15:06 Uhr
Desweiteren funktioniert das wake-up ja nur, wenn eine bestimmte byte-sequenz in den gesendeten Paketen ist - diese hat ping
normal nicht.

Was ist "normal?" Das WakeUp funktioniert so, wie das im Rechnerbios (und/oder in den Einstellungen der Netzwerkkarte) konfiguriert ist.
Die "bestimmte Byte-Sequenz" ist nur eine der Möglichkeiten.
Bitte warten ..
Mitglied: Deboe1986
27.08.2009 um 15:49 Uhr
Hab nun ein bisschen was zusammengeschustert.. Funktioniert 1a - auch wenn der Code bestimmt sauschlecht zu lesen ist für einen Fortgeschrittenen User

01.
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
02.
strLogFile = "X:\_Temp\Powermanagement.log" 
03.
Dim objNetwork 
04.
 
05.
strComputer = "." ' Local computer 
06.
 
07.
Set objPC = CreateObject( "Shell.LocalMachine" ) 
08.
strComputerName = objPC.MachineName 
09.
Set objNetwork = CreateObject("WScript.Network") 
10.
 
11.
set objWMIDateTime = CreateObject("WbemScripting.SWbemDateTime") 
12.
set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
13.
set colOS = objWMI.InstancesOf("Win32_OperatingSystem") 
14.
for each objOS in colOS 
15.
	objWMIDateTime.Value = objOS.LastBootUpTime 
16.
 
17.
next 
18.
Function TimeSpan(dt1, dt2)  
19.
	' Function to display the difference between 
20.
	' 2 dates in hh:mm:ss format 
21.
	If (isDate(dt1) And IsDate(dt2)) = false Then  
22.
		TimeSpan = "00:00:00"  
23.
		Exit Function  
24.
        End If  
25.
  
26.
        seconds = Abs(DateDiff("S", dt1, dt2))  
27.
        minutes = seconds \ 60  
28.
        hours = minutes \ 60  
29.
        minutes = minutes mod 60  
30.
        seconds = seconds mod 60  
31.
  
32.
        if len(hours) = 1 then hours = "0" & hours  
33.
  
34.
        TimeSpan = hours & ":" & _  
35.
            RIGHT("00" & minutes, 2) & ":" & _  
36.
            RIGHT("00" & seconds, 2)  
37.
End Function  
38.
 
39.
Set fso = CreateObject("Scripting.FileSystemObject") 
40.
Set OutputFile    = fso.OpenTextFile(strLogFile, 8, True,0) 
41.
    OutputFile.WriteLine  Now & " PCNAME: " & strComputerName & " USERNAME: " & objNetwork.UserName & " BOOT: " & objWMIDateTime.GetVarDate & " UPTIME: " & TimeSpan(objWMIDateTime.GetVarDate,Now)
Ausgabe (X:\_TEMP\Powermanagement.log):
27.08.2009 15:48:28 PCNAME: DEWSAWIS095 USERNAME: boerschd BOOT: 27.08.2009 07:55:52 UPTIME: 07:52:36

Mit freundlichen Grüßen
DB
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows 10
gelöst Installationsproblem sql server 2014 auf windos 10 rechner (23)

Frage von jensgebken zum Thema Windows 10 ...

Windows Userverwaltung
gelöst Rechner die nicht in der Domäne sind aufspüren (13)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Windows Installation
2 mal windows 10 auf einem Rechner (4)

Frage von fisch56 zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

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

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...