标题: 如何批量删除不包含的用户
[打印本页]
作者: czweb
时间: 2010-3-20 22:45
标题: 如何批量删除不包含的用户
我想恢复系统默认的administrator和禁用的guest用户,其它多余的用户全部删除
怎么写会比较好
作者: HAT
时间: 2010-3-20 23:23
既然administrator是系统默认,你想咋恢复?
作者: dato
时间: 2010-3-21 01:56
很久之前有这需求,后来用ntfs禁止nnusr.cpl lusr.msc
%systemroot%\system32\cacls.exe %systemroot%\system32\nusrmgr.cpl /e /d onlyit
%systemroot%\system32\cacls.exe %systemroot%\system32\lusrmgr.msc /e /d onlyit
就基本没这烦恼了
删除用户.cmd
cscript allusername.vbs>%tmp%\a.txt
for /f "tokens=* skip=3" %%i in (%tmp%\a.txt) do find "%%i" userlist.ini||net user /delete "%%i"
pause
allusername.vbs
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
For Each objUser In colAccounts
Wscript.Echo objUser.Name
Next
userlist.ini
administrator
guest
作者: czweb
时间: 2010-3-27 03:02
果然是高手,高手都有同样的需求
作者: czweb
时间: 2010-3-27 03:42
在你的基础上该了一下,只需要一个文件就可以了
:禁用Administrator以外的所有用户
set f=%temp%\GetAllusername.vbs
echo.>%f%
echo Set objNetwork = CreateObject("Wscript.Network") >>%f%
echo strComputer = objNetwork.ComputerName >>%f%
echo Set colAccounts = GetObject("WinNT://" ^& strComputer ^& "") >>%f%
echo colAccounts.Filter = Array("user") >>%f%
echo For Each objUser In colAccounts >>%f%
echo Wscript.Echo objUser.Name >>%f%
echo Next >>%f%
set ff=%temp%\GetAllusername.txt
cscript %f%>%ff%
set fff=%temp%\userlist.ini
echo Administrator >%fff%
:删除
:for /f "tokens=* skip=3" %%i in (%ff%) do find "%%i" %fff%||net user /delete "%%i"
:禁用
for /f "tokens=* skip=3" %%i in (%ff%) do find "%%i" %fff%||net user /active:n "%%i"
作者: pdanniel66
时间: 2010-3-27 05:33
如何指定Windows DC (2000) 下的OU建立账号 (Bat 与VBS均可 ),谢谢 !
作者: HAT
时间: 2010-3-28 15:44
BAT可以实现,调个VBS干啥?
作者: czweb
时间: 2010-3-28 19:50
Quote: |
Originally posted by HAT at 2010-3-28 15:44:
BAT可以实现,调个VBS干啥? |
|
楼主给的是vbs,bat不会所以将就着用,
net user出来的结果不是一行一个用户名
作者: pdanniel66
时间: 2010-3-28 20:47
net user指令可以指定 OU ?
作者: Hanyeguxing
时间: 2010-3-28 20:51
Quote: |
Originally posted by czweb at 2010-3-28 19:50:
楼主给的是vbs,bat不会所以将就着用,
net user出来的结果不是一行一个用户名 |
|
那就for /f解析他呗
作者: pdanniel66
时间: 2010-5-22 19:43
如何指定Windows DC (2000) 下的OU建立账号 (Bat 与VBS均可 ),谢谢 !
作者: tongzj
时间: 2010-5-23 08:01
试试我这个笨办法:
@echo off
for /f "skip=4 tokens=1,2,3" %%a in ('net user') do (
if not "%%a"=="命令成功完成。" (
if /i not "%%a"=="administrator" (if /i not "%%a"=="guest" net user %%a /delete)
if /i not "%%b"=="administrator" (if /i not "%%b"=="guest" net user %%b /delete)
if /i not "%%c"=="administrator" (if /i not "%%c"=="guest" net user %%c /delete)
)
)
net user guest /active:no