【发布时间】:2014-02-21 01:22:15
【问题描述】:
我有一个脚本应该通过文本文件查看其工作站 ID,然后将其工作站 ID 旁边的用户分配为本地管理员。
但是,如果找不到计算机名,我希望它只是转到文件末尾,然后像成功完成一样退出。
我环顾四周,但我真的想不出我会用什么词在 google 中搜索。
非常感谢任何帮助。
@echo off
setlocal enabledelayedexpansion
FIND /i "%computername%" < "C:\Build\Elevate\AccessElevations.txt" >%temp%\computer.txt
FOR /F "tokens=1-6 delims=," %%a in (%temp%\computer.txt) DO (
set school=%%a
set computerid=%%b
set Model=%%c
set Serial=%%d
set user=%%e
set access=%%f
If /i "%%f" EQU "Admin" goto Elevate
If /i "%%f" EQU "NoAdmin" goto End
:Elevate
set desc=!school! - !computerid! - !model! - !serial! - !user!
echo.
echo Now creating local admin account for !user! on !computerid!
echo.
echo Description: !desc!
echo.
net localgroup Administrators "GBN\!user!" /add
net config server /srvcomment:"!desc!"
)
:End
【问题讨论】:
-
@unclemeat 它失败了,因为它在列表中找不到工作站名称,但 Usr:Magoo 的想法是正确的,感谢您的帮助。
标签: batch-file if-statement for-loop find