$DomainControllers = „dc1“, „dc2“, „dc3“, „dc4“
Computers = @ {}
$DomainControllers | ForEach-Gegenstand {
Erhalten-QADComputer - SearchRoot „domain.com/Offices“ - instandhalten $ _ - SizeLimit 0 - IncludedProperties LastLogon | `
Vorwählen-Gegenstand Name, DN, LastLogon | ForEach-Gegenstand {
Wenn (Computers.$ ($_.DN)) {
Computers.$ ($_.DN) = $ _ | Vorwählen-Gegenstand Name, DN, `
@ {n='LastLogon'; e= {
Wenn ($_.LastLogon - GT Computers.$ ($_.DN) .LastLogon) {
$_.LastLogon
} Sonst {
Computers.$ ($_.DN) .LastLogon
}}}
} Sonst {
Computers.Add ($_.DN, $_)
}
}
}
Computers.Values | ForEach-Gegenstand {
$LastLogon = (Neu-Zeitspanne $_.LastLogon). Tage
Wenn (Test-Anschluss $_.Name - ruhig - Zählimpuls 1) {
$LastBootUpTime = (Win32_OperatingSystem Erhalten-WmiObject - Computer $_.Name), .LastBootUpTime
Wenn ($LastBootUpTime - Ne $Null) {
$LastBootUpTime = [Management.ManagementDateTimeConverter]:: ToDateTime ($LastBootUpTime)
$Online = [Mathe]:: Rund ((Neu-Zeitspanne $LastBootUpTime) .TotalHours, 2)
}
} Sonst {
$Online = 0
}
Einstellen-QADComputer $_.DN - Beschreibung „(Kontakte: $LastLogon Tage) (online: $Online Stunden)“
}
|