无法获取本地用户的状态(禁用) [英] Unable to obtain status (Disable) of Local user
本文介绍了无法获取本地用户的状态(禁用)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
$adsi = [ADSI]"WinNT://$env:computername"
$user = $adsi.Children | where {$_.SchemaClassName -eq 'user'}
$user| Foreach-Object {
$g1 = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
$s1 = gwmi -ClassName Win32_UserAccount -Filter "LocalAccount = $true" | % { $_.Disabled}
$_ | Select-Object @{n='UserName';e={$_.Name}},
@{n='Groups';e={$g1 -join ';'}},
@{n='LastLogin';e={$_.LastLogin}},
@{n='DisabledSatus';e={$s1 -join ''}}
}
输出:
UserName Groups LastLogin Disabled
-------- ------ --------- -----
Administrator Administrators 6/5/2012 5:18:54 PM OKOKDegradedOKOKOKOKOKOKDeg...
TestUser Users 10/10/2013 7:11:22 PM OKOKDegradedOKOKOKOKOKOKDeg..
推荐答案
两个更改。我会在ForEach-Object
循环的顶部添加以下内容:
$currentuser = $_
并将$s
行更改为:
$s1 = gwmi -ClassName Win32_UserAccount -Filter "LocalAccount = $true" | ? {$_.Name -eq $currentuser.Name} | % { $_.Disabled}
这篇关于无法获取本地用户的状态(禁用)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文