wmic - don't work when runs from Task Scheulder (`No Instance(s) Available.` @ win10 )

34 Views Asked by At

I'm writing a small check_mk plugin to check if monitor drives are mounted.

Everything works when I run the script from cmd but it won't when triggered from Task Scheduler.

@echo off
setlocal enabledelayedexpansion


set "filename=C:\Users\abba\cifs.txt"

echo ^<^<^<cifsmounts^>^>^> > "%filename%"

rem wmic logicaldisk where "drivetype=4" get deviceid > "%filename%" 2>&1
rem THIS won't work under scheduler ^^

for /f "skip=1 tokens=1-3" %%d in ('wmic logicaldisk where "drivetype=4" get deviceid^, freespace^, size') do (
  set "drive=%%d"
  set "free=%%e"
  set "size=%%f"
  if "!drive!" NEQ "" (
    set "drive=!drive:~0,2!"
    if defined size (
      echo drive_!drive! ok !size! !size! !free! 1 >> "%filename%"
    )
  )
)

I noticed that if the scheduler runs this script wmic logicaldisk where "drivetype=4" get deviceid gives No Instance(s) Available.
Scheduler is set to run as abba user I changed anything in there

Please help me to make this script work (triggered from task scheduler)

0

There are 0 best solutions below