我试图确定 CSV 中的用户是否处于活动状态,此外,我想知道它们是否是服务帐户、用户帐户或基于 OU 的计算机帐户。
一切都在膨胀,直到我尝试输出它......输出分为几行(每个变量一行)。
我希望输出在一行上(中间有逗号,这样我完成后就会有一个 CSV)...我已经尝试了二十种不同的方法,得到了四十种不同的结果 O_o。
奖励:为任何产生错误的名称添加一条消息(即用户不存在...)我正在考虑一个 if/else,但无法获得基本的输出行为。
我尝试过用括号括起来,连接变量,嵌套变量……用棍子敲打我的电脑……静静地思考我的人生选择……
$Users = Get-Content C:\ActiveUsers.txt
ForEach ($User in $Users){
$properties = Get-ADUser -Identity $User | select SamAccountName,Enabled,DistinguishedName
if (Select-String -Pattern "UserMgt" -InputObject $properties) { $base = "User" }
if (Select-String -Pattern "ApplSec" -InputObject $properties) { $base = "Service Account" }
if (Select-String -Pattern "WkstnMgt" -InputObject $properties) { $base = "Machine Account" }
write-output $properties.SamAccountName $properties.Enabled $base
#$Output = Write-Output $properties.SamAccountName $properties.Enabled $base
#$Output #| out-file C:\UserStatus-OU2.csv -append
}
Run Code Online (Sandbox Code Playgroud)