随笔 - 911  文章 - 5  评论 - 94  阅读 - 243万

获取本地用户及其所属组

 

复制代码
$Res_Path = "d:\temp\"
$Time = Get-Date -UFormat "%Y%m%d%H%M"
$ComputerName = $env:computername
$IP = ((gwmi win32_networkadapterconfiguration | ? {$_.DefaultIPGateway -ne $null}).IPAddress)[0]
$Res_File_Path = $Res_Path + $ComputerName + "_" + $Time + ".csv"

$Users = Get-LocalUser
"计算机名称,IP,用户名,用户状态,密码过期时间,用户所属组" |Out-File $Res_File_Path -Append  -Encoding default
foreach ($User in $Users)
{
 $Groups = Get-LocalGroup | Where-Object {  $user.SID -in  ( Get-LocalGroup $_ | Get-LocalGroupMember | Select-Object -ExpandProperty "SID" ) } 
 $UGS = $Null
 foreach ($g in $Groups)
    {$UGS += $g.Name + "; "}

if ( $User.PasswordExpires -eq $Null)
    { $PasswordExpireDate = "永不过期" }
else { $PasswordExpireDate = Get-Date  $user.PasswordExpires -UFormat "%Y-%m-%d %H:%M:%S" }
$ComputerName  + "," + $IP  + "," + $User.Name + "," + $User.Enabled + "," +  $PasswordExpireDate  + "," +  $UGS |Out-File $Res_File_Path -Append -Encoding default
}
复制代码

 

posted on   momingliu11  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2014-10-17 检查dns服务器是否可用
2014-10-17 判断两个数组是否相等
2014-10-17 IIS应用程序池性能分析
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示