5 апр. 2013 г.

Скрипт для отключения не используемых служб в Windows Server 2012

Удобная штука - скрипты. Можно делать однообразную работу одним кликом или нажатием или вообще планировщиком... Но последний вариант не актуален в этом случае.

Скрипт будет на языке PowerShell и видение того, какие службы не нужные здесь я привёл свое, так что список служб надо подредактировать под свои нужды.

Получить список сервисов с их короткими именами можно командой в оболочке PowerShell:

Get-service

Собсно, сам скрипт:


$DisabledServicesList = @("ALG", "BFE", "BITS", "Browser", "CertPropSvc", "CryptSvc", "defragsvc", "Dnscache", "DPS", "EFS", "FontCache", "gpsvc", "hidserv", "hkmsvc", "IKEEXT", "iphlpsvc", "KeyIso", "KPSSVC", "KtmRm", "lltdsvc", "MMCSS", "MpsSvc", "MSiSCSI", "napagent", "NcaSvc", "Netlogon", "NetTcpPortSharing", "PerfHost", "pla", "PolicyAgent", "PrintNotify", "RasAuto", "RasMan", "RemoteAccess", "RemoteRegistry", "sacsvr", "SCardSvr", "SENS", "SharedAccess", "ShellHWDetection", "SNMPTRAP", "Spooler", "Themes", "TrkWks", "UALSVC", "UI0Detect", "VaultSvc", "vmicheartbeat", "vmickvpexchange", "vmicrdv", "vmicshutdown", "vmictimesync", "vmicvss", "W32Time", "WcsPlugInService", "WdiServiceHost", "WdiSystemHost", "Wecsvc", "wercplsupport", "WerSvc", "WinHttpAutoProxySvc", "wmiApSrv", "WPDBusEnum", "wudfsvc", "wuauserv", "ScDeviceEnum")

$ManualServicesList = @("AeLookupSvc","seclogon", "SstpSvc")

foreach ($service in $DisabledServicesList)
{
Set-Service -name $service -StartupType Disabled
Stop-Service -force -name $service
}
foreach ($service in $ManualServicesList)
{
Set-Service -name $service -StartupType Manual
}
Создаем массив строк с названиями служб, которые хотим вырубить и можно еще второй - какие поставить в Manual. А далее обрабатываем их в циклах.

Для использования или копируем текст скрипта в окно PowerShell (запущенное с администраторскими правами, ессно) или сохраняем как .psc1 и юзаем.