【发布时间】:2015-10-05 10:34:42
【问题描述】:
我需要根据文本文件或 CSV 文件中的输入禁用大约 250 个本地用户帐户,然后将结果导出到 CSV 文件中。
我已经安静地搜索了网络,但我找不到任何我可以定制的东西。 这是我尝试过的;
这是我试过的:
$Workdir = 'C:\scripts\'
$Output = $Workdir + 'Disabled-UserReport.csv'
$InputFile = $Workdir + 'Users_To_Disable.csv'
$Servers = 'LOCALHOST'
Import-CSV $InputFile | ForEach-Object {
$Server = $_ ([ADSI]"WinNT://$Server").Children | ? {$_.SchemaClassName -eq 'user'} | % { $User.UserFlags[0] = $User.UserFlags[0] -bor 0x2 $User.SetInfo() }
}| Export-CSV -Encode UTF8 -Path C:\scripts\Disabled-Users.csv
这是尝试二:
$Servers = 'LOCALHOST'
$Username = Import-CSV "C:\scripts\Users_To_Disable.csv"
$Username | FOREACH {
$Server = $_
$objGroup = [ADSI]("WinNT://$env:ComputerName/User")
$objGroup.PSBase.Invoke("Add",$objUser.PSBase.Path)
$User.description = $description
<#$User.userflags = $DisableUser#>
$User.setinfo()
} | Export-CSV -Encode UTF8 -Path C:\scripts\Disabled-Users.csv
我知道这两个脚本都有很大的问题....正如你所见,只要有时间,我就是一个学习 PS 的菜鸟 :) 如果能在 PS2 上运行就好了。但需要使用 PS4。
感谢任何帮助!
【问题讨论】:
-
这真的适用于本地独立计算机用户帐户吗?
-
啊,抱歉 - 完全错过了关于 local 的部分。 ) 看看here - 这应该让你开始。
-
我不能安静地成功编辑该脚本,因为它有几个我不需要的绑定...对不起,我对 powershell 太陌生。我从link 尝试了另一个,但也无法安静地管理那个。
-
我需要一些简单的东西,例如: Import-Csv "C:\scripts\Users_To_Disable.csv" |为每个 | ([ADSI]"WinNT://$comp") MISSING MISSING MISSING $user_acc.userflags.value = $user_acc.userflags.value -bor "0x0002" $user_acc.SetInfo()
-
您对本地帐户进行了哪些更改?你只是禁用它们吗?
标签: powershell local user-accounts adsi