Что касается…
Видимо, Get-ADPrincipalGroupMembership не так
… это не совсем верное утверждение, и на вашем сайте есть несколько вопросов и ответов по вашему варианту использования. По сути, это просто что-то вроде этого.
# Get users with base properties and their group membership, display user and group name
ForEach ($TargetUser in (Get-ADUser -Filter *))
{
"`n" + "-"*12 + " Showing group membership for " + $TargetUser.SamAccountName
Get-ADPrincipalGroupMembership -Identity $TargetUser.SamAccountName | Select Name
}
# Results
------------ Showing group membership for Administrator
Name
----
Domain Users
Administrators
...
------------ Showing group membership for Guest
Domain Guests
Guests
Обновление для OP
Я использовал командлет, чтобы объяснить, что вы используете.
Если вы используете PowerShell v5, для этого уже есть командлеты локальной группы.
Get-Command -Name *LocalUser*
# Results
CommandType Name
Cmdlet Disable-LocalUser
Cmdlet Enable-LocalUser
Cmdlet Get-LocalUser
Cmdlet New-LocalUser
Cmdlet Remove-LocalUser
Cmdlet Rename-LocalUser
Cmdlet Set-LocalUser
Get-Command -Name *LocalGroup*
# Results
CommandType Name
Cmdlet Add-LocalGroupMember
Cmdlet Get-LocalGroup
Cmdlet Get-LocalGroupMember
Cmdlet New-LocalGroup
Cmdlet Remove-LocalGroup
Cmdlet Remove-LocalGroupMember
Cmdlet Rename-LocalGroup
Cmdlet Set-LocalGroup
Затем делать что-то вроде этого ...
Clear-Host
$LocalUserName = Read-Host -Prompt 'Enter a username'
# If no user is passed, list all
If($LocalUserName -eq '')
{
ForEach($GroupName in Get-LocalGroup)
{
Get-LocalGroupMember -Group "$($GroupName.Name)" |
Select @{n='GroupName';e={$($GroupName.Name)}},Name
}
}
Else
{
# process only the user passed
Get-LocalGroup |
%{
If(Get-LocalGroupMember -Group "$($_.Name)" -Member $LocalUserName -ErrorAction SilentlyContinue)
{
[PSCustomObject]@{
GroupName = $_.Name
Username = $LocalUserName
}
}
}
}
Если вы используете более ранние версии, вы можете использовать модуль PowerShellGallery.com или использовать ADSI напрямую. На этом сайте и в Интернете есть множество статей и примеров для этого.
Пример:
LocalUserManagement 3.0
модуль, который выполняет различные функции управления локальными пользователями
Смотри также:
Управление локальными учетными записями пользователей с помощью PowerShell - часть 1