standalone key self expiration, following the guide exactly! What am I doing wrong? custom hook tsconfig .vbsfile
following the instructions here: http://blogs.technet.com/b/deploymentguys/archive/2012/02/15/expiring-outdated-stand-alone-media.aspx my tsconfig is as follows: [CustomHook] CommandLine="cscript.exe X:\ExpiredUFDCheck.vbs" CommandLine="wscript.exe X:\Deploy\Scripts\ZTIMediaHook.wsf" The ORIGINAL vbs file is as follows, which will not function for me and just throw errors and the logic seems wrong so I corrected it, ( changes annotated). On Error Resume Next ' // --------------------------------------------------------------------- ' // Find the environment variable %configpath% for location of UFD ' // --------------------------------------------------------------------- 'Set objShell = CreateObject("WScript.Shell") 'Set objExecObject = objShell.Exec("%comspec% /c echo %configpath%") 'configPath1 = objExecObject.StdOut.ReadAll() 'configPath = Mid(configPath1, 1, Len(configPath1) -2) ' // ----------------------------------------------------------------------------------------- ' // Find the environment variable %TEMP% for location of tool files (e.g. shutdown.exe) ' // ----------------------------------------------------------------------------------------- Set objShell = CreateObject("WScript.Shell") Set objExecObject = objShell.Exec("%comspec% /c echo %temp%") temp = objExecObject.StdOut.ReadAll() tempdir = Mid(temp, 1, Len(temp) -2) ' // --------------------------- ' // Find driver letter for UFD '// ---------------------------- Set FSO = CreateObject("Scripting.FileSystemObject") Set Drives = FSO.Drives For Each DiskDrive In Drives If DiskDrive.DriveType = "1" Then USBPath = DiskDrive.Path End If Next ' // ----------------------------------------------------------------- ' // Query WMI for creation date of the Policy.xml file on the UFD ' // ----------------------------------------------------------------- strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") ' // ---------------------------- ' // Media Check - Policy.xml ' // ---------------------------- Set colFiles = objWMIService.ExecQuery("Select * From CIM_DataFile Where Name = '" & USBPath & "\\SMS\\Data\\Policy.xml'") ' // ----------------------------------------- ' // Set the date 3 months ago from today ' // ----------------------------------------- dt3MonthsAgo = DateAdd("m", -3, Now) ' // ----------------------------------------------------------------------------------------------------------- ' // If the Policy.xml file creation date is less than the date 3 months ago from today, it is an expired UFD. <---------Shouldnt this be MORE? ' // ----------------------------------------------------------------------------------------------------------- For Each objFile in colFiles dtCreationDate = WMIDateStringToDate(objFile.CreationDate) dtEndDate = DateAdd("m", 3, dtCreationDate) If dtCreationDate > dt3MonthsAgo then <--------------- I have changed "<" to ">" Set WshShell = CreateObject("WScript.Shell") Command = TEMPDIR & "\scripts\Shutdown.exe /s /t 0" MsgBox "This USB Key expired on" & dtEndDate, vbMsgBoxSetForeground, "Expired USB Media" Set oExec = WshShell.Exec(Command) Else <------------------I have commented this out 'WScript.Quit(1) <------------------I have commented this out End If Next ' // ----------------------------------------------------------------------------------------- ' // Converting the WMI date query response to a simple date format. (e.g. 09/21/2010) ' // ----------------------------------------------------------------------------------------- Function WMIDateStringToDate(dtmInstallDate) WMIDateStringToDate = CDate(Mid(dtmInstallDate, 5, 2) & "/" & Mid(dtmInstallDate, 7, 2) & "/" & Left(dtmInstallDate, 4) & " " & Mid(dtmInstallDate, 9, 2) & ":" & Mid(dtmInstallDate, 11, 2) & ":" & Mid(dtmInstallDate, 13, 2)) End Function I"m going crazy trying to get this thing to work! Any help is appreciated!
July 17th, 2012 9:38am

when I set the machines bios three months ahead or more now, this script runs, ( you can see the cmd window flash)........and the task sequence will kick off. Anyone got an idea what I'm doing wrong? I spent 3/4 of the day on this darn thing!
Free Windows Admin Tool Kit Click here and download it now
July 17th, 2012 10:19am

the "else" is now not commented out.......
July 17th, 2012 10:52pm

ok, I started from scratch and followed the instructions exactly on the guide located here: http://blogs.technet.com/b/deploymentguys/archive/2012/02/15/expiring-outdated-stand-alone-media.aspx my tsconfig.ini reads as: [CustomHook] CommandLine=cscript.exe X:\ExpiredUFDCheck.vbs the .vbs at the root of my boot image is as follows: ' // *************************************************************************** ' // ' // File: ExpiredUFDCheck.vbs ' // ' // Version: 1.0 ' // ' // Purpose: Check to see if stand-alone media is expired ' // ' // Usage: cscript ExpiredUFDCheck.vbs ' // ' // *************************************************************************** On Error Resume Next ' // --------------------------------------------------------------------- ' // Find the environment variable %configpath% for location of UFD ' // --------------------------------------------------------------------- 'Set objShell = CreateObject("WScript.Shell") 'Set objExecObject = objShell.Exec("%comspec% /c echo %configpath%") 'configPath1 = objExecObject.StdOut.ReadAll() 'configPath = Mid(configPath1, 1, Len(configPath1) -2) ' // ----------------------------------------------------------------------------------------- ' // Find the environment variable %TEMP% for location of tool files (e.g. shutdown.exe) ' // ----------------------------------------------------------------------------------------- Set objShell = CreateObject("WScript.Shell") Set objExecObject = objShell.Exec("%comspec% /c echo %temp%") temp = objExecObject.StdOut.ReadAll() tempdir = Mid(temp, 1, Len(temp) -2) ' // --------------------------- ' // Find driver letter for UFD '// ---------------------------- Set FSO = CreateObject("Scripting.FileSystemObject") Set Drives = FSO.Drives For Each DiskDrive In Drives If DiskDrive.DriveType = "1" Then USBPath = DiskDrive.Path End If Next ' // ----------------------------------------------------------------- ' // Query WMI for creation date of the Policy.xml file on the UFD ' // ----------------------------------------------------------------- strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") ' // ---------------------------- ' // Media Check - Policy.xml ' // ---------------------------- Set colFiles = objWMIService.ExecQuery("Select * From CIM_DataFile Where Name = '" & USBPath & "\\SMS\\Data\\Policy.xml'") ' // ----------------------------------------- ' // Set the date 3 months ago from today ' // ----------------------------------------- dt3MonthsAgo = DateAdd("m", -3, Now) ' // ----------------------------------------------------------------------------------------------------------- ' // If the Policy.xml file creation date is less than the date 3 months ago from today, it is an expired UFD. ' // ----------------------------------------------------------------------------------------------------------- For Each objFile in colFiles dtCreationDate = WMIDateStringToDate(objFile.CreationDate) dtEndDate = DateAdd("m", 3, dtCreationDate) If dtCreationDate < dt3MonthsAgo then Set WshShell = CreateObject("WScript.Shell") Command = TEMPDIR & "\scripts\Shutdown.exe /s /t 0" MsgBox "This task sequence expired on " & dtEndDate, vbMsgBoxSetForeground, "Expired Task Sequence" Set oExec = WshShell.Exec(Command) Else WScript.Quit(1) End If Next ' // ----------------------------------------------------------------------------------------- ' // Converting the WMI date query response to a simple date format. (e.g. 09/21/2010) ' // ----------------------------------------------------------------------------------------- Function WMIDateStringToDate(dtmInstallDate) WMIDateStringToDate = CDate(Mid(dtmInstallDate, 5, 2) & "/" & Mid(dtmInstallDate, 7, 2) & "/" & Left(dtmInstallDate, 4) & " " & Mid(dtmInstallDate, 9, 2) & ":" & Mid(dtmInstallDate, 11, 2) & ":" & Mid(dtmInstallDate, 13, 2)) End Function I set the bios to have the following date: 7/18/13 when I boot from the standalone usb key, I get this: on pressing "ok" the machine is SUPPOSED to shut down. Instead the expiration notice disappears and I can hit "next to execute the task sequence. The workstation is not shutting down when "ok" is pressed............
Free Windows Admin Tool Kit Click here and download it now
July 18th, 2012 11:00am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics