У меня есть задача, которая требует от меня обновить службу 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"
}
Это дает мне список серверов ... тогда я пытаюсь получить список служб ForEach сервер ... тогда я могу просто фильтровать ...
Но я не могу заставить эту вещь нажать на все цилиндры.
Если PowerShell не является правильным инструментом - что еще будет работать, чтобы найти все серверы с этим конкретным EventLog?