我需要创建一个批处理脚本。
此脚本应该能够检测是否有结果。
我正在使用命令
dsquery domainroot -inactive 60
它告诉我所有已停用60天的帐户。
我运行相同的命令180天,但没有结果。
我运行命令60天,我得到了结果。
我需要创建退出代码以确定是否有任何结果。
每个错误级别为0(有和没有结果)。
是否有其他方法可以检测是否有结果。所以我可以把它变成IF语句。
答案 0 :(得分:0)
这将至少查找两行结果,将1 2
更改为1
以仅查找一行,
dsquery domainroot -inactive 60|file.bat
if %errorlevel%==1 echo no results
if %errorlevel%==0 echo results
file.bat
for %%i in (1 2) do set /p a=
if defined a exit 0 /b
exit 1 /b
答案 1 :(得分:0)
应该按照你的要求做:
@echo off
dsquery domainroot -inactive 60 |find /v "" >nul
if errorlevel 1 (
echo no result
) else (
echo results found
)
答案 2 :(得分:0)
我需要在使用脚本解决此问题后将此脚本添加到GFI。 下面的脚本允许您检测已停用60天的用户并报告结果。
如果您将此脚本上传到GFI MAX RMM,它将无法通过脚本检查并向您报告结果并将其转发到PSA系统(如果已配置)。
自动生成的门票让您知道客户并没有让您知道某人可能已离开公司,不知道该怎么做。
@echo off
REM This batch script was created by som3guy.
REM Cleans up any previous runs of this batch command.
cd %temp%
Del Inactiveusers.txt
echo "The following user(s) have been inactive for 60 days or more:" > Inactiveusers.txt
REM Saves a file called Inactiveusers.txt to the %temp% dir for analysis.
dsquery user domainroot -inactive 60 >> Inactiveusers.txt
GOTO Check
REM Check the filesize and sets as a variable.
:CHECK
for %%A in (%temp%/Inactiveusers.txt) do set fileSize=%%~zA
REM Determines if there is data in the file or not. And sends to appropriate Function.
IF %filesize% == 59 (GOTO NonExistant) ELSE (GOTO Existant)
:Existant
REM The below command parses Inactiveusers.txt for data and sends it to GFI via ECHO
for /f "delims=" %%i in (%temp%/Inactiveusers.txt) do echo %%i
REM Exit code for GFI
exit 1000
:NonExistant
REM No inactive users.
REM Exit code for GFI
exit 0