Знайдіть сервери з конкретними журналами подій


0

У мене є завдання, яке вимагає від мене оновлення служби 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)
LotPings

так, це була помилка перекладу ... це речі в передбаченні мене збентежили
WernerCD

Що саме ви шукаєте? Ви згадали журнали подій (MyLog) та джерела журналу подій (MySuperSpecialEventLog), потім ви говорите, що намагаєтесь витягнути список служб з кожного сервера.
Патрік Сеймур

Відповіді:


1
$source = "MySuperSpecialEventLog"
import-module ActiveDirectory
$servers = Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*"} | % { $_.Name }

$servers | % {
    Try {
        $eventlog = get-eventlog -Source $source -ComputerName $_ -newest 1 -ErrorAction Stop
        Write-Host $_ , ":", "has $source entries" 
    } Catch {
        Write-Host $_ , ":", $_.Exception.Message
    }
}

Це відлунне computer : has MySuperSpecialEventLog entriesабоcomputer : exceptionmessage

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.