У мене є завдання, яке вимагає від мене оновлення служби Windows. Ця служба може бути під різними іменами - вона вимагає встановити ім'я встановлення після встановлення служби ... але Журнали подій Windows жорстко кодуються до конкретного імені в C #:
if (!EventLog.SourceExists("MySuperSpecialEventLog"))
EventLog.CreateEventSource("MySuperSpecialEventLog", "MyLog");
Як я можу знайти всі сервери з подіями, записаними в цей користувацький журнал?
Я бавився з Powershell:
clear
import-module ActiveDirectory;
$servers = Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*"} -Property Name | Sort-Object name | Format-Table Name; #,OperatingSystem,OperatingSystemServicePack;
$servers
foreach($server in $servers){
echo "Get-Eventlog -List -ComputerName $server"
}
Це дає мені список серверів ... тоді я намагаюся витягнути список серверів Services ForEach ... тоді я можу просто фільтрувати ...
Але я, здається, не можу змусити щось натискати на всі циліндри.
Якщо powershell не є правильним інструментом - що б ще працювало для пошуку всіх серверів із конкретним EventLog?
foreach($server in $servers)