VAADAdmin Posted December 21, 2006 Share Posted December 21, 2006 I cannot get this script to work, it does not return errors or anything. It is taken right out of AutoIT scriptomatic. I created a scheduled task with AUTOIT, but this will not bring anything back. Seems just the Win32_ScheduledJob. Have used others without issue. expandcollapse popup; Generated by AutoIt Scriptomatic $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "addc.adcrap.com" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ScheduledJob", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems $Output = $Output & "Caption: " & $objItem.Caption & @CRLF $Output = $Output & "Command: " & $objItem.Command & @CRLF $Output = $Output & "DaysOfMonth: " & $objItem.DaysOfMonth & @CRLF $Output = $Output & "DaysOfWeek: " & $objItem.DaysOfWeek & @CRLF $Output = $Output & "Description: " & $objItem.Description & @CRLF $Output = $Output & "ElapsedTime: " & WMIDateStringToDate($objItem.ElapsedTime) & @CRLF $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF $Output = $Output & "InteractWithDesktop: " & $objItem.InteractWithDesktop & @CRLF $Output = $Output & "JobId: " & $objItem.JobId & @CRLF $Output = $Output & "JobStatus: " & $objItem.JobStatus & @CRLF $Output = $Output & "Name: " & $objItem.Name & @CRLF $Output = $Output & "Notify: " & $objItem.Notify & @CRLF $Output = $Output & "Owner: " & $objItem.Owner & @CRLF $Output = $Output & "Priority: " & $objItem.Priority & @CRLF $Output = $Output & "RunRepeatedly: " & $objItem.RunRepeatedly & @CRLF $Output = $Output & "StartTime: " & WMIDateStringToDate($objItem.StartTime) & @CRLF $Output = $Output & "Status: " & $objItem.Status & @CRLF $Output = $Output & "TimeSubmitted: " & WMIDateStringToDate($objItem.TimeSubmitted) & @CRLF $Output = $Output & "UntilTime: " & WMIDateStringToDate($objItem.UntilTime) & @CRLF if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop $Output="" Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_ScheduledJob" ) Endif Func WMIDateStringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2)) EndFunc Link to comment Share on other sites More sharing options...
Joon Posted December 21, 2006 Share Posted December 21, 2006 Works fine for my home pc. it's running Windows XP. Maybe you are pointing to wrong pc, try with$strComputer = @ComputerName Link to comment Share on other sites More sharing options...
VAADAdmin Posted December 21, 2006 Author Share Posted December 21, 2006 Thanks Joon, I tried with @computername and it works fine from work, still issues at home but that is my problem. Hopefully I can get it to work on remote machines. Thanks for the help. Link to comment Share on other sites More sharing options...
Joon Posted December 21, 2006 Share Posted December 21, 2006 try this. $strComputer = "remote" $strUser = "username" $strDomain = "domain name" $strPassword = "password" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objSWbemLocator = ObjCreate("WbemScripting.SWbemLocator") $objWMIService = $objSWbemLocator.ConnectServer($strComputer,"root\CIMV2",$strUser, $strPassword, "MS_409", "ntlmdomain:" & $strDomain) $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ScheduledJob") Link to comment Share on other sites More sharing options...
VAADAdmin Posted December 22, 2006 Author Share Posted December 22, 2006 I am still trying different options, but I read that using WMI for scheduled tasks you cannot bring back jobs made through the task scheduler and that is what I need since many different folks make jobs manually. I have tried schtasks.exe but the /V parameter give me issues. This does not involve autoIT programming. Thanks for your continued input. Link to comment Share on other sites More sharing options...
HockeyFan Posted January 4, 2007 Share Posted January 4, 2007 Joon, Would you be familiar with how to user the following code: expandcollapse popup; Generated by AutoIt Scriptomatic $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems $Output = $Output & "AccountType: " & $objItem.AccountType & @CRLF $Output = $Output & "Caption: " & $objItem.Caption & @CRLF $Output = $Output & "Description: " & $objItem.Description & @CRLF $Output = $Output & "Disabled: " & $objItem.Disabled & @CRLF $Output = $Output & "Domain: " & $objItem.Domain & @CRLF $Output = $Output & "FullName: " & $objItem.FullName & @CRLF $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF $Output = $Output & "LocalAccount: " & $objItem.LocalAccount & @CRLF $Output = $Output & "Lockout: " & $objItem.Lockout & @CRLF $Output = $Output & "Name: " & $objItem.Name & @CRLF $Output = $Output & "PasswordChangeable: " & $objItem.PasswordChangeable & @CRLF $Output = $Output & "PasswordExpires: " & $objItem.PasswordExpires & @CRLF $Output = $Output & "PasswordRequired: " & $objItem.PasswordRequired & @CRLF $Output = $Output & "SID: " & $objItem.SID & @CRLF $Output = $Output & "SIDType: " & $objItem.SIDType & @CRLF $Output = $Output & "Status: " & $objItem.Status & @CRLF if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop $Output="" Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_UserAccount" ) Endif Func WMIDateStringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2)) EndFunc oÝ÷ Ù©ÝÊ«r^jëh×6 $strComputer = "remote" $strUser = "username" $strDomain = "domain name" $strPassword = "password" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objSWbemLocator = ObjCreate("WbemScripting.SWbemLocator") $objWMIService = $objSWbemLocator.ConnectServer($strComputer,"root\CIMV2",$strUser, $strPassword, "MS_409", "ntlmdomain:" & $strDomain) $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ScheduledJob") ...to pull out just the "FullName" from a particular local user? Thanks! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now