Коллеги из Германии запросили информацию по серверам. В том числе роли и фичи установленные на сервере. Задача не очень сложная, но серверов больше 2-х сотен.
После изучения течнета родился такой скрипт по инвентаризации ролей и фич –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<em>$ComputerName = Get-Content "servers.txt" cls foreach ($strComputer in $ComputerName) { write-host $strComputer $colItems = get-wmiobject -class "Win32_ServerFeature" -namespace "root\cimv2" ` -computername $strComputer -filter "ID = 16 or ID = 10 or ID = 8 or ID = 9 or ID = 17 or ID = 1 or ID = 12 or ID = 13 or ID = 5 or ID = 6 or ID = 20 or ID = 14 or ID = 7 or ID = 18 or ID = 2 or ID = 19 or ID = 21" write-host "" write-host "--== Roles ==--" foreach ($objItem in $colItems) { write-host $objItem.Name } $colItems = get-wmiobject -class "Win32_ServerFeature" -namespace "root\cimv2" ` -computername $strComputer -filter "(ID = 3 or ID = 11 or (ID > 21)) and ParentID = 0" write-host "" write-host "--== Features ==--" foreach ($objItem in $colItems) { write-host $objItem.Name } write-host "=================================" }</em> |
Файл servers.txt содержит список серверов в формате –
1 2 3 4 5 |
servername1 servername2 servername3 servername4 servername5 |
На выходе получаем отчет в виде –
=================================
servername1–== Roles ==–
File Services
Active Directory Lightweight Directory Services–== Features ==–
.NET Framework 3.5.1 Features
SNMP Services
Remote Server Administration Tools
Remote Differential Compression
=================================
Применимо к Windows 2008 и выше