1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| # Liste groupe local administrateurs
Write "---------------------------------------------"
$localgroupName = "Administrateurs"
if ($computerName -eq "") {$computerName = "."}
if([ADSI]::Exists("WinNT://$computerName/$localGroupName,group")) {
$group = [ADSI]("WinNT://$computerName/$localGroupName,group")
$members = @()
$Group.Members() |
% {
$AdsPath = $_.GetType().InvokeMember("Adspath", 'GetProperty', $null, $_, $null)
# Domain members will have an ADSPath like WinNT://DomainName/UserName.
# Local accounts will have a value like WinNT://DomainName/ComputerName/UserName.
$a = $AdsPath.split('/',[StringSplitOptions]::RemoveEmptyEntries)
$name = $a[-1]
$domain = $a[-2]
$class = $_.GetType().InvokeMember("Class", 'GetProperty', $null, $_, $null)
$member = New-Object PSObject
$member | Add-Member -MemberType NoteProperty -Name "Name" -Value $name
$member | Add-Member -MemberType NoteProperty -Name "Domain" -Value $domain
$member | Add-Member -MemberType NoteProperty -Name "Class" -Value $class
$members += $member
}
if ($members.count -eq 0) {
Write-Host "Le groupe '$localGroupName' est vide."
}
else {
Write "Le groupe '$localGroupName' contient les membres suivants:"
$members | Format-Table Name,Domain,Class -autosize
}
}
else {
Write-Warning "Le groupe local '$localGroupName' n'éxiste pas sur le PC '$computerName'"
} |
Partager