我需要創建一個批處理腳本。如果有命令的結果,那麼IF沒有結果,然後批處理腳本
該腳本應該能夠檢測是否有結果。
我使用的命令
dsquery domainroot -inactive 60
它告訴我的一切,都處於非活動狀態60天的賬戶。
我運行相同的命令180天,我沒有得到任何結果。
我運行命令60天,我得到的結果。
我需要創建退出代碼來確定是否存在任何結果。
每個錯誤級別都是0(有和沒有結果)。
有沒有其他的方法來檢測是否有結果。所以我可以把它變成一個IF語句。
我需要創建一個批處理腳本。如果有命令的結果,那麼IF沒有結果,然後批處理腳本
該腳本應該能夠檢測是否有結果。
我使用的命令
dsquery domainroot -inactive 60
它告訴我的一切,都處於非活動狀態60天的賬戶。
我運行相同的命令180天,我沒有得到任何結果。
我運行命令60天,我得到的結果。
我需要創建退出代碼來確定是否存在任何結果。
每個錯誤級別都是0(有和沒有結果)。
有沒有其他的方法來檢測是否有結果。所以我可以把它變成一個IF語句。
我需要解決這個問題的腳本後添加此腳本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
這將查找的結果至少兩條線,改變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
應該做你問:
@echo off
dsquery domainroot -inactive 60 |find /v "" >nul
if errorlevel 1 (
echo no result
) else (
echo results found
)
謝謝你這爲我工作。我找到了一種方法來完成我所需要的腳本。 – Som3guy
您可以解析命令輸出以獲得結果。發表它!關於'IF':有多種形式,其中一種使用'ERRORLEVEL' ... –