Jump to content

Bootzeit / Uptime per Skript abfragen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich bin gerade dabei ein SKript zu schreiben, welches mir von allen Server die Laufzeit ausgeben soll.

 

Zwecks Windows Updates kann man dann sehen, ob die Server schon neugestartet sind.

 

Mit Servern ab 2012 funktioniert meine Abfrage fehlerfrei, nur alles was älter ist (2008 / 2008R2) scheint nicht mit der Abfrage klar zu kommen:

 

 

$servers = Get-ADComputer -filter {Name -like "*NTS*"} -Properties * | Sort

"Servername;Beschreibung;Startzeit;Betriesbsystem" |  Out-File C:\Laufzeiten.csv
"" |  Out-File C:\Laufzeiten.csv -Append

foreach($server in $servers){

$bootzeit = Get-CimInstance Win32_OperatingSystem -Property LastBootUpTime -ComputerName $($server.name) -EA SilentlyContinue | Select LastBootUpTime

$name = $($server.name)
$beschreibung = ($server.Description)
$bootzeit = $($bootzeit.LastBootUpTime)
$os = $($server.OperatingSystem)


"$name;$beschreibung;$bootzeit;$os" | Out-File C:\Laufzeiten.csv -Append
}

 

Jemand eine Idee, wie ich eine Abfrage für alle Server hinbekomme?

 

 

Danke schon einmal

 

 

Link zu diesem Kommentar

Eine GPO mit einem Computer-Shutdown-Script oder andersrum mit einem Start-Script?

Aber ein entsprechendes Monitoring wäre wohl sinnvoller.

 

Forced-Shutdown ist keine Option, da die Serververantwortlichen meist besser entscheiden können, wann eine Downtime möglich ist.

 

Ich habe es auch mit fogendem Befehl versucht:

 

Invoke-Command -ComputerName $server -ScriptBlock {systeminfo | find "Systemstartzeit"}

 

Funktioniert leider auch nicht

Link zu diesem Kommentar

CimInstanze ist neuer. Evtl. hilft eine neue Powershell Version auf den alten Systemen oder du nimmst Get-WMIObject.

 

Mit folgendem Befehl bekomme ich auch bei 2008er Servern ein vernünftiges Ergebnis

 

Get-WmiObject win32_operatingsystem | select csname, @{LABEL=’LastBootUpTime’
;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}}

An sich ist das Ergebnis schonmal nicht schlecht. Hier einmal das Ganze Skript:

 

cls

$host.ui.RawUI.WindowTitle = "Laufzet v0.2"

$servers = Get-ADComputer -filter {Name -like "*NTS*"} -Properties * | Sort

"Servername;Startzeitpunkt;Beschreibung;Betriesbsystem" |  Out-File C:\Laufzeiten.csv
"" |  Out-File C:\Laufzeiten.csv -Append

foreach($server in $servers){


#$bootzeit = Get-WmiObject win32_operatingsystem -ComputerName $server.Name | select csname, @{LABEL='LastBootUpTime’ ;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}} -EA SilentlyContinue
$zeit = Get-WmiObject win32_operatingsystem -ComputerName $server.Name | select @{LABEL='LastBootUpTime’ ;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}} -EA SilentlyContinue

$name = $($server.name)
$beschreibung = $($server.Description)
$bootzeit = $($zeit.LastBootUpTime)
$os = $($server.OperatingSystem)

if($bootzeit -ne $null) {
"$name;$bootzeit;$beschreibung;$os" | Out-File C:\Laufzeiten.csv -Append
}
else{
"$name;ABFRAGE NICHT MÖGLICH ;$beschreibung;$os" | Out-File C:\Laufzeiten.csv -Append
}

}

 

Das einzige was mich jetzt noch stört, ist das ANzeigeformat des Datums. Mit deim reinen "Get-WmiObjcet" Befehl, bekomme ich das Datum immer im deutschen Format angezeigt.

 

In meiner CSV-Datei ist es allerdings mal deutsch mal englisch, unabhänging vom Betriebssystem.

 

Kann mir da jemand helfen ?

bearbeitet von Kuddel071089
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...