Полезные скрипты [vbs,bat] для сисадмина. Часть 3

Полезные скрипты [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 Function

Function WMITimeToString(dtmTime)
WMITimeToString = (Mid(dtmTime, 9, 2) & «:» & _
Mid(dtmTime, 11, 2) & «:» & _
Mid(dtmTime, 13, 2))
End Function

Set 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)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Закончите арифметическое действие * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.