První nástřel byl tento:
Get-QADGroupMember 'domain.com/CZ/Domain Admins'
Výstupem příkazu je seznam členů této skupiny. To mělo úspěch a samozřejmě přišla další otázka: "Lze porovnat výsledky proti nějakému danému stavu?" Ano, úkol jak dělaný pro Compare-Object. Celý skript pak vypadal následovně.
- function Compare-ADGroup {
- param (
- [string]$group = 'domain.com/CZ/Domain Admins',
- [switch]$snapshot
- )
- if ($snapshot) {
- # save state as snapshot
- Get-QADGroupMember $group | `
- Select-Object SamAccountName, FirstName, LastName | `
- Export-Clixml ./snapshot.xml
- }
- else {
- Get-QADGroupMember $group | `
- Select-Object SamAccountName, FirstName, LastName | `
- Export-Clixml ./current.xml
- # load to variables, sort to prepare for Compare-Object
- $s = (Import-Clixml ./snapshot.xml) | Sort-Object SamAccountName
- $c = (Import-Clixml ./current.xml) | Sort-Object SamAccountName
- # compare objects based on SamAccountName
- Compare-Object -ReferenceObject $s -DifferenceObject $c -Property SamAccountName
- } # else
- } # function Compare-ADGroup
1 komentář:
Dobry den
Začínam si hrát s powershellem a našel jsem váš blog.
V tomto příspěvku píšete o nějakém starším reportu zobrazujícím lokální adminy na PC,ale ten nemůžu najít nemate tip kde bych ho našel.
Děkuji za odpověď.
Martin
Okomentovat