批量禁用在text/csv文件中找到的本地帐户

批量禁用在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一起工作。

任何帮助表示赞赏!

+0

这是否真的可以与本地独立的计算机用户帐户一起使用? –

+0

啊,对不起 - 完全错过了关于_local_的部分。 )看看[这里](https://berkenbile.wordpress.com/2013/04/26/manage-local-user-accounts-with-powershell/) - 这应该让你开始。 –

+0

我不安静管理编辑该脚本成功,因为它有几个绑定我不需要...对不起,我太新来powershell。我尝试了另外一个来自[link](http://en.community.dell.com/techcenter/powergui/f/4839/t/19574159),但是也不能安静地管理那个。 –

是的我终于在上周处理了....谢谢! 代码,如果其他新手想要的。它基于来自文本文件的输入来禁用帐户,并且还将帐户设置为密码永不过期并且密码不能被更改;

$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