Полезные скрипты [vbs,bat] для сисадмина. Часть 3
Очередная подборка моих любимых скриптов, которыми часто пользуюсь.
del_hidden_share.reg (Удаление скрытых ресурсов)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
«AutoShareWks»=dword:00000000
add shortcut.vbs (Создание ярлыка для сетевой программы на рабочем столе всем пользователям. Добавляется как Logon-скрипт через политики и все. )
Set WshShell = WScript.CreateObject(«WScript.Shell»)
‘ Путь до рабочего стола через спец переменную
strDesktop = WshShell.SpecialFolders(«Desktop»)‘ Создание ярлыка:
Set oShellLink = WshShell.CreateShortcut(strDesktop & «\Texpert.lnk»)‘ Целевой путь к файлу для которого создаётся ярлык:
oShellLink.TargetPath = «\\server\Texpert\texpert.exe»‘ Стиль открытия окна:
‘ 1 — Обычный размер окна; 3 — Развёрнутое на весь экран; 7 — Свёрнутое в значoк
oShellLink.WindowStyle = 1‘ Клавиши быстрого вызова:
‘ oShellLink.Hotkey = «CTRL+SHIFT+F»‘ Путь к файлу который содержит иконку для ярлыка:
oShellLink.IconLocation = «\\server\Texpert\texpert.exe, 0»‘ Комментарий:
oShellLink.Description = «Сетевая программа»‘ Рабочая папка:
oShellLink.WorkingDirectory = «\\server\Texpert»‘ Аргументы командной строки:
‘ Аргументы имеют смысл если файл к которому обращается ярлык — исполняемый, т.е. имеет одно из следующих расширений: .exe; .bat; .com; .cmd; .vbs и т.д.
‘ oShellLink.Arguments = «C:\MyFile.txt»
‘ Сохранение ярлыка на жестком диске:
oShellLink.Save
print_event.vbs (Скрипт генерирует и открывает HTML-отчет использования принтеров организации. Уточнение: сетевые принтеры подключены пользователям не напрямую, а через сервер. Т.е. все данные берутся из Журнала Событий сервера. Потратил 2 часа на написание сего скрипта 🙂 Люблю покодить иногда)
‘ Скрипт генерирует отчет использования принтеров организации, подключенных к серверу.
‘ Уточнение: все данные берутся из журнала событий сервера.
‘ Автор Алексей http://blog.lapitoop.ru
‘ —— SCRIPT CONFIGURATION ——
DIM len_name,name,len_domain
strComputer = «.» ‘Local Computer
LogFolder = «C:\»
Title=»Статистика печати в нашей компании» ‘Заголовок отчета (Title)
domain=»domain»
‘ —— SCRIPT CONFIGURATION ——‘Функции преобразования даты и времени в человеческий вид
Function WMIDateToString(dtmDate)
WMIDateToString = (Mid(dtmDate, 5, 2) & «/» & _
Mid(dtmDate, 7, 2) & «/» & _
Left(dtmDate, 4) & » «)
End FunctionFunction WMITimeToString(dtmTime)
WMITimeToString = (Mid(dtmTime, 9, 2) & «:» & _
Mid(dtmTime, 11, 2) & «:» & _
Mid(dtmTime, 13, 2))
End FunctionSet FSO = CreateObject(«Scripting.FileSystemObject»)
Set LogFile = FSO.OpenTextFile(LogFolder & «Event_printer.html», 2, True)Set objWMIService = GetObject(«winmgmts:» _
& «{impersonationLevel=impersonate}!\\» & strComputer & «\root\cimv2»)
Set colLoggedEvents = objWMIService.ExecQuery _
(«Select * from Win32_NTLogEvent Where Logfile = ‘System’ and » _
& «EventCode = ’10′»)LogFile.WriteLine «<html>»
LogFile.WriteLine «<head>»
LogFile.WriteLine «<title>» & Title & » от » & date() & «</title>»
LogFile.WriteLine «</head>»
LogFile.WriteLine «»
LogFile.WriteLine «<table border=1>»
LogFile.WriteLine «<tr>»
LogFile.WriteLine «<td><strong>Пользователь</strong></td><td><strong>Дата и время</strong></td><td><strong>Сообщение</strong></td>»
LogFile.WriteLine «</tr>»For Each objEvent in colLoggedEvents
‘ Обрезаем домен в полученном имени пользователя (вместо DOMAIN\User будет просто User)
len_name=Len(objEvent.User)-Len(domain)-1
name=Right(objEvent.User,len_name)LogFile.WriteLine «<tr>»
LogFile.WriteLine «<td>»& name & «</td><td>» & WMIDateToString(objEvent.TimeWritten) & » » & WMITimeToString(objEvent.TimeWritten) & «</td><td>» & objEvent.Message & «</td>»
LogFile.WriteLine «</tr>»Next
LogFile.WriteLine «</table>»
LogFile.WriteLine «</html>»
LogFile.Close‘Автооткрытие сгенерированного отчета
Set WShell = CreateObject(«WScript.Shell»)
ReturnCode = WShell.Run(LogFolder & «Event_printer.html», 1, false)
Добавить комментарий