将多个域组添加到本地管理员帐户、验证添加和更改输出颜色的批处理文件
Posted
技术标签:
【中文标题】将多个域组添加到本地管理员帐户、验证添加和更改输出颜色的批处理文件【英文标题】:Batch file to add multiple domain groups to local admin account, validate addition, and change color of output 【发布时间】:2014-05-15 23:15:36 【问题描述】:我编写了一个基本的批处理文件来将几个域组添加到本地管理员帐户,验证组是否已添加,并根据结果更改输出的颜色。我确信使用 VBS 或其他编程语言有更好的方法来做到这一点,但我想知道是否有更好的方法可以只使用 CMD 而无需任何其他第三方工具。
我想知道是否有办法在屏幕上使用不同颜色同时显示两个输出。例如,如果一个域组已成功添加,但另一个由于某种原因而失败,您是否能够以一种颜色(绿色)显示成功的输出,而以另一种颜色(红色)显示失败的输出?改变整个 CMD 窗口的颜色?
下面是我的代码:
@echo off
net localgroup administrators /add DOMAIN GROUP 1 >nul
if %errorlevel% == 0 (
color 0A
echo DOMAIN GROUP 1 group was added successfully!
) else (
color 0C
echo DOMAIN GROUP 1 group was not added!
)
echo.
pause
cls
net localgroup administrators /add DOMAIN GROUP 2 >nul
if %errorlevel% == 0 (
color 0A
echo DOMAIN GROUP 2 group was added successfully!
) else (
color 0C
echo DOMAIN GROUP 2 group was not added!
)
echo.
pause
【问题讨论】:
【参考方案1】:没有原生解决方案。请参阅下面的编辑。
如果机器上有 PowerShell:
@echo off
call :add "DOMAIN GROUP 1"
call :add "DOMAIN GROUP 2"
pause
exit
:add
set $group=%~1
net localgroup administrators /add %$group% >nul
if errorlevel 1 goto :error
powershell write-host -foregroundcolor green "%$group% was added successfully !"
exit /b
:error
powershell write-host -foregroundcolor red "%$group% was not added !"
exit /b
如果没有 PowerShell,您将不得不使用外部可执行文件/ansi 库来做一些事情。在这里讨论:How to echo with different colors in the Windows command line
编辑
How to have multiple colors in a Windows batch file?
【讨论】:
以上是关于将多个域组添加到本地管理员帐户、验证添加和更改输出颜色的批处理文件的主要内容,如果未能解决你的问题,请参考以下文章