VAADAdmin Posted December 21, 2006 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
Joon Posted December 21, 2006 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
VAADAdmin Posted December 21, 2006 Author 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.
Joon Posted December 21, 2006 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")
VAADAdmin Posted December 22, 2006 Author 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.
HockeyFan Posted January 4, 2007 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!
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