Nic*_*ssu 25 powershell user-accounts
我想要与所有本地用户及其相关群组(用户,超级用户,管理员等)进行报告.
我以这种方式得到用户:
$adsi = [ADSI]"WinNT://."
$adsi.psbase.children | where {$_.psbase.schemaClassName -match "user"} | select @{n="Name";e={$_.name}}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何检索他们的团体.提前致谢.
mjs*_*sen 36
对于Google员工,另一种获取用户列表的方法是使用:
Get-WmiObject -Class Win32_UserAccount
Run Code Online (Sandbox Code Playgroud)
来自http://buckeyejeeps.com/blog/?p=764
Sha*_*evy 30
$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
$groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
$_ | Select-Object @{n='UserName';e={$_.Name}},@{n='Groups';e={$groups -join ';'}}
}
Run Code Online (Sandbox Code Playgroud)
Iri*_*son 15
更新作为2010年优秀答案的替代方案:
您现在可以使用Get-LocalGroupMember,Get-LocalGroup,Get-LocalUser等来获取和映射用户和组
例:
PS C:\WINDOWS\system32> Get-LocalGroupMember -name users
ObjectClass Name PrincipalSource
----------- ---- ---------------
User DESKTOP-R05QDNL\someUser1 Local
User DESKTOP-R05QDNL\someUser2 MicrosoftAccount
Group NT AUTHORITY\INTERACTIVE Unknown
Run Code Online (Sandbox Code Playgroud)
您可以将其与Get-LocalUser结合使用.也可以使用别名glu.大多数新cmndlet存在别名.
如果有人想知道(我知道你没有问过这个)添加用户可能是这样做的:
$description = "Netshare user"
$userName = "Test User"
$user = "test.user"
$pwd = "pwd123"
New-LocalUser $user -Password (ConvertTo-SecureString $pwd -AsPlainText -Force) -FullName $userName -Description $description
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99334 次 |
| 最近记录: |