Văd câteva probleme aici.
- Pe computerele care nu sunt asociate unui domeniu trebuie să existe un cont de administrator activ chiar dacă nu este contul numit Administrator.
- Pe computerele care nu sunt asociate unui domeniu, ai avea nevoie de un cont pentru a rula interogarea
- În general, puteți rula o interogare numai atunci când computerul este online, așa că ar trebui să programați interogările să ruleze în mod regulat și chiar și atunci nu ați putea fi garantat să le obțineți pe toate, deoarece nu puteți garanta că computerele vor fi online în intervalul de timp în care rulați interogarea.
Acestea fiind spuse
Pe un computer cu Windows 10, puteți rula următoarele pentru a obține contul numit Administrator și dacă este activat:
Get-LocalUser -Name Administrator | Selectare-Nume obiect, activat
Puteți utiliza această comandă într-un script ca următorul pentru a obține starea unui computer.
[pscustomobject]@{
Nume computer = $env:Nume computer
AdminEnabled = Get-LocalUser -Nume „Administrator” | Select-Object -ExpandProperty activat
} | Export-CSV -Cale „\a\share\unde\poți\pune\this\$($env:Computername).csv”
Apoi, puteți rula comanda de mai sus ca script de pornire în domeniu (Fiți conștienți de faptul că îndoirea partajată ar trebui să fie scrisă pentru grupul „Computerele de domeniu”).
Pe computerele din afara domeniului ai puțin noroc. Dacă aveți un cont care se poate conecta de la distanță pe mai multe sisteme, puteți folosi ceva de genul acesta:
$APSCredentialWhichHasTheRightsToDoThis = Obține-Credential
Invoke-Command -Computername "RemotePC" -ScriptBlock {Get-LocalUser -Name "Administrator"} -Credential $APSCredentialWhichHasTheRightsToDoThis
pentru a obține starea computerului de la distanță.