用户批处理文件问题

User Batch File Issues

好的一点背景知识我是使用批处理文件的新手。我正在尝试创建一个新用户,分配给管理员组,然后将当前用户降级为标准帐户。这都是本地的,将远程完成。我让它工作,所以创建了新用户并添加了管理员帐户,但我需要获取当前用户名并以某种方式在最后一个命令中调用它。以下是我目前的情况,请大家帮忙。

net user "USERNAME" "PASSWORD" /add /comment:"COMMENT" /passwordchg:NO
wmic useraccount where "name='USERNAME'" set passwordexpires=FALSE
net localgroup administrators "USERNAME" /add
timeout /t 20 /nobreak 

wmic.exe /node:127.0.0.1 ComputerSystem Get Username

net localgroup administrators %username% /delete

wmic.exe /node:127.0.0.1 ComputerSystem Get Username > username.txt for /f "delims=" %%A in ('type username.txt') DO SET MYUSER=%%A del username.txt net localgroup test %MYUSER% /delete

在下一个代码片段中,for 循环是:

  • %%a 检索用户名(在第二个令牌中,%%b
  • %%c 删除值 returned 中的结尾回车符 return (wmic 行为:每个输出行以 0x0D0D0A 而不是常见的结尾0x0D0A)

注意 _ %_username% 中的前导下划线:不要覆盖系统环境变量 %username%

for /f "tokens=1* delims==" %%a in (
  'wmic /node:127.0.0.1 ComputerSystem Get Username /value'
  ) do for /f "delims=" %%c in ("%%~b") do set "_username=%%c"

echo %_username%

net localgroup administrators %_username% /delete