$DomainControllers = "dc1", "dc2", "dc3", "dc4"
Computers = @ {}
$DomainControllers | ForEach-protestować {
Dostawać-QADComputer - SearchRoot "domain.com/Offices" - Usługiwać $ _ - SizeLimit (0) - IncludedProperties LastLogon | `
Wybierać-protestować Imię, DN, LastLogon | ForEach-protestować {
Jeżeli (Computers.$ ($_.DN)) {
Computers.$ ($_.DN) = $ _ | Wybierać-protestować Imię, DN, `
@ {n='LastLogon'; e= {
Jeżeli ($_.LastLogon - gt Computers.$ ($_.DN) .LastLogon) {
$_.LastLogon
} Inny {
Computers.$ ($_.DN) .LastLogon
}}}
} Inny {
Computers.Add ($_.DN, $_)
}
}
}
Computers.Values | ForEach-protestować {
$LastLogon = (Nowy-TimeSpan $_.LastLogon). Dzień
Jeżeli (Badać-Związek $_.Name - Zaciszność - Obliczenie 1) {
$LastBootUpTime = (Dostawać-WmiObject Win32_OperatingSystem - Komputer $_.Name) .LastBootUpTime
Jeżeli ($LastBootUpTime - ne $Null) {
$LastBootUpTime = [Management.ManagementDateTimeConverter]:: ToDateTime ($LastBootUpTime)
$Online = [Matematyka]:: .TotalHours ((Nowy-TimeSpan $LastBootUpTime) .TotalHours, 2)
}
} Inny {
$Online = (0)
}
Set-QADComputer $_.DN - Opis "(Kontakt: $LastLogon dzień) (Online: $Online godzina)"
}
|