批量禁用在text/csv文件中找到的本地帐户
问题描述:
我需要根据文本文件或CSV文件中的输入禁用约250个本地用户帐户,然后将结果导出到CSV文件中。批量禁用在text/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
我知道有一些非常错误的两个脚本....正如你可以看到我” m noob学习PS每当我得到时间:) 这将是伟大的,如果它在PS2中的作品。但需要与PS4一起工作。
任何帮助表示赞赏!
答
是的我终于在上周处理了....谢谢! 代码,如果其他新手想要的。它基于来自文本文件的输入来禁用帐户,并且还将帐户设置为密码永不过期并且密码不能被更改;
$EnableUser = 512
$DisableUser = 2
$PasswordNotExpire = 65536
$PasswordCantChange = 64
$users = Get-Content -path "C:\Users_To_Disable.txt"
$computer = $env:COMPUTERNAME
Foreach($user in $users){ $user = [ADSI]"WinNT://$computer/$user"
$user.userflags = $DisableUser+$PasswordNotExpire+$PasswordCantChange
#$user.Userflags = $EnableUser+$PasswordNotExpire+$PasswordCantChange
$user.setinfo()
}
答
对不起,这不是一个答案,我即将离开工作,但你看到这篇文章? http://blogs.technet.com/b/heyscriptingguy/archive/2010/11/22/use-powershell-to-enable-or-disable-a-local-user-account.aspx
这可能有帮助。如果没有,我很抱歉。
答
这不是你的答案,但它是谷歌在PowerShell中禁用本地用户帐户的高命中。这是我用你的答案组装的
function user-enable()
{
param([string] $username, [boolean] $enabled)
$disableFlag = 2
$enableFlag = 512
$flag = if ($enabled) {$enableFlag} else {$disableFlag} # powershell turnary lol
$computername = $env:COMPUTERNAME
$user = [adsi]"WinNT://$computername/$username"
$user.userflags = $flag
$user.setinfo()
}
user-enable -username "packer" -enabled $false
这是否真的可以与本地独立的计算机用户帐户一起使用? –
啊,对不起 - 完全错过了关于_local_的部分。 )看看[这里](https://berkenbile.wordpress.com/2013/04/26/manage-local-user-accounts-with-powershell/) - 这应该让你开始。 –
我不安静管理编辑该脚本成功,因为它有几个绑定我不需要...对不起,我太新来powershell。我尝试了另外一个来自[link](http://en.community.dell.com/techcenter/powergui/f/4839/t/19574159),但是也不能安静地管理那个。 –