|
|
правильный ли скрипт для GPO?
Здравствуйте. Есть скрипт для очистки темпов в windows.
Код:
Const LOCAL_SETTINGS_TEMP_INET_FILES = &H20&
Const LOCAL_SETTINGS_RECENT_FILES = &H8&
strComputer = "."
On Error Resume Next
' !!! oaaeaiea Temporary Internet Files !!!
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(LOCAL_SETTINGS_TEMP_INET_FILES)
Set objFolderItem = objFolder.Self
strInetTempFiles = objFolderItem.Path
'Wscript.Echo "strInetTempFiles - " & strInetTempFiles
DelFiles(strInetTempFiles)
' !!! oaaeaiea Recent Files History !!!
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(LOCAL_SETTINGS_RECENT_FILES)
Set objFolderItem = objFolder.Self
strRecentFiles = objFolderItem.Path
'Wscript.Echo "strRecentFiles - " & strRecentFiles
'DelFiles(strRecentFiles)
' !!! I?enoea iaiee User TEMP !!!
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_BootConfiguration")
For Each objItem in colItems
strUserTempDir = objItem.TempDirectory
'Wscript.Echo "User Temp Directory: " & strUserTempDir
Next
DelFiles(strUserTempDir)
' !!! I?enoea iaiee System TEMP !!!
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Environment WHERE (Name = 'TMP' or Name = 'TEMP') and SystemVariable = True")
For Each objItem in colItems
strSystemTempDir = objItem.VariableValue
'Wscript.Echo "System Temp Directory: " & strSystemTempDir
Next
DelFiles(strSystemTempDir)
'Wscript.Echo outLog
Function DelFiles(strSourceDir)
Dim lfsObject
Dim lFileList
Dim lFolder
Dim lFile
'Is this a valid call?
If strSourceDir > "" Then
On Error Resume Next
Set lfsObject = CreateObject("Scripting.FileSystemObject")
Set lFolder = lfsObject.GetFolder(strSourceDir)
'Wscript.Echo "lFolder - " & lFolder
'Process contained files first
Set lFileList = lFolder.Files
'Wscript.Echo "lFileList - " & lFileList
For Each lFile in lFileList
'Wscript.Echo "lFile - " & lFile
lFile.Delete
Next
'Process subdirectories
Set lSubFolders = lFolder.SubFolders
For Each lSubFolder in lSubFolders
NewSource = strSourceDir & "\" & lSubFolder.Name
'Wscript.Echo "NewSource - " & NewSource
'Recursive call to delete all subdirectories
DelFiles NewSource
'Delete this directory
lSubFolder.Delete
Next
'Cleanup
Set lfsObject = Nothing
Set lFileList = Nothing
Set lFolder = Nothing
Set lFile = Nothing
End If
End Function
Так как ничего не понимаю в Vbasic. Прошу направить, есть ли в нём ошибки? Какие?
Если нет ошибок, то правильно ли я делаю, закидывая код в "name.vbs" и запуская его через GPO?
Если здесь всё правильно, почему он может не выполняться? Локально ведь тоже никак не проверить?
|
совсем ни у кого нет никаких мыслей по этому поводу или я непонятно формулировал свои вопросы? :-/
|
Время: 04:54.
© OSzone.net 2001-