Скрипты

Windows Script Host (WSH), WMI, vbs скрипты и т.д. Создание и применение скриптов.

Модератор: Модераторы

Новый участник
Сообщения: 5
Зарегистрирован: 20 окт 2004, 11:39

Сообщение mirniy » 20 окт 2004, 12:09

Доброго времени суток All

Столкнулся с такой проблеммой:

время от времени н нам в офис заглядывают станные личности (маски шоу)
в связи с этим мне поручено при их визите чистить темпы у всех юзеров, дабы покосить файлы с комерческой информацией,
пока приходится делать руками (Far-ом ) но хочется енто автоматизировать,
гдето слышал что можно делать на Windows script Host
но как это сделать нигде не нашол.:(
Если кто сталкивался, подскажите КАК
или ткните где прочитать (на networkdoc читал).

Заранее всем спасибо!!!

Новый участник
Сообщения: 2
Зарегистрирован: 22 окт 2004, 19:16

Сообщение vavan » 22 окт 2004, 19:31

Привет всем. У меня тоже стоит эта же проблема - автоматизация удаления всякого хлама. Неужели никто не сделал еще такой фичи. Будьте людьми поделитесь. Я например весь инет перерыл ничего путевого почитать так и не нашел по этой теме. Везде лежит одна и та же статья наподобии той которая на networkdoc. А так чтобы конкретное описание с различными полезными примерами - нет такого как я понял.

Новый участник
Сообщения: 5
Зарегистрирован: 20 окт 2004, 11:39

Сообщение mirniy » 25 окт 2004, 08:37

Я всетаки сделал такую хрень
Пишеш два скрипта:
Цитата
var fso = new ActiveXObject("Scripting.FileSystemObject");
var WshShell = WScript.CreateObject("WScript.Shell");
//var WshSysEnv = WshShell.Environment("USER");
var folders = fso.GetFolder("C:\\Documents and Settings");
var fc = new Enumerator(folders.SubFolders);
for (; !fc.atEnd(); fc.moveNext()) {
    var str = fc.item() + "\\Local Settings\\Temp\\";
    delFold(str);
}
   
function delFold(nameDel) {
    if (fso.FolderExists(nameDel)) {
        var foldersIN = fso.GetFolder(nameDel);
        var fcFiles = new Enumerator(foldersIN.files);
        for (; !fcFiles.atEnd(); fcFiles.moveNext()) {
            var filesDel = fcFiles.item();
            try {
                filesDel.Delete();
            } catch(e) {
               
            }
        }
        var fc2 = new Enumerator(foldersIN.SubFolders);       
        for (; !fc2.atEnd(); fc2.moveNext()) {
            var str2 = fc2.item();
            delFold(str2);
    try {
                str2.Delete();
            } catch(e) {
               
            }
        }
    }
}
[/quote]

Это для удаления темпов

Цитата
var oController = new ActiveXObject("WSHController");
var oProcess = oController.CreateScript("C:\\deltmp\\delet.js", "localhost");
oProcess.Execute();

try {
oProcess = oController.CreateScript("C:\\deltmp\\delet.js", "комп");
oProcess.Execute();
} catch(e)                          {}
try {
oProcess = oController.CreateScript("C:\\deltmp\\delet.js", "комп1");
oProcess.Execute();
} catch(e)                            {}
try {
oProcess = oController.CreateScript("C:\\deltmp\\delet.js", "комп2");
oProcess.Execute();
} catch(e)                              {}
try {
oProcess = oController.CreateScript("C:\\deltmp\\delet.js", "комп3");
oProcess.Execute();
} catch(e)                                {}
WScript.Echo("готово");
[/quote]

А это для удаленного запуска скрипта.

чтобы это работало надо на машинах поставить WSH 5.6

потом в реестре в "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings" значение "Remote" исравить на "1"
Усё.
если возникнут трудности пиши здесь
Активный пользователь
Сообщения: 243
Зарегистрирован: 30 июн 2004, 16:18
Откуда: Кировоград (Украина)

Сообщение Valeriy » 25 окт 2004, 15:12

mirniy
Трудности возникнуть здесь:
Цитата
var folders = fso.GetFolder("C:\\Documents and Settings");
[/quote]
C уважением, Валерий

Активный пользователь
Сообщения: 274
Зарегистрирован: 07 янв 2004, 15:56
Откуда: St-Peterburg

Сообщение mikee » 25 окт 2004, 15:52

этот способ очень хорош
но для удаления временных файлов я пользуюсь встроенной утилой cleanmgr.exe

т.е. один раз прописываеться в реестр клиентской машины несколько ключиков в реестр:
Код

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Recycle Bin]
"StateFlags0005"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Active Setup Temp Folders]
"StateFlags0005"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Compress old files]
"StateFlags0005"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Content Indexer Cleaner]
"StateFlags0005"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Downloaded Program Files]
"StateFlags0005"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Internet Cache Files]
"StateFlags0005"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Microsoft Office Temp Files]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Microsoft_Event_Reporting_2.0_Temp_Files]
"StateFlags0005"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Office Setup Files]
"StateFlags0005"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Old ChkDsk Files]
"StateFlags0005"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files]
"StateFlags0005"=dword:00000002

[/code]


и потом через шедулер каждую ноч запускается батник:
Код

title Cleanup disk C for command line
@echo off
color 9F
%systemroot%\system32\cleanmgr.exe /D c: /sagerun:5
exit

[/code]
Активный пользователь
Сообщения: 274
Зарегистрирован: 07 янв 2004, 15:56
Откуда: St-Peterburg

Сообщение mikee » 26 окт 2004, 15:02

Код


спасибо, что поправили, в следующий раз буду вставлять как код


[/code]
Новый участник
Сообщения: 2
Зарегистрирован: 22 окт 2004, 19:16

Сообщение vavan » 28 окт 2004, 20:56

Всем огромное, человеческое спасибо. Буду ковырять на досуге.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1