Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   правильный ли скрипт для GPO? (http://forum.oszone.net/showthread.php?t=140066)

Hooty 14-05-2009 09:21 1117973

правильный ли скрипт для 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?
Если здесь всё правильно, почему он может не выполняться? Локально ведь тоже никак не проверить?

Hooty 18-05-2009 10:01 1121217

совсем ни у кого нет никаких мыслей по этому поводу или я непонятно формулировал свои вопросы? :-/


Время: 04:54.

Время: 04:54.
© OSzone.net 2001-