Belirli olay günlüklerine sahip sunucuları bulun


0

Windows servisini güncellememi gerektiren bir görevim var. Bu hizmet farklı adlar altında olabilir - hizmetin yüklenmesinden sonra yükleme adını sorar ... ancak Windows Olay Günlükleri C # ile belirli bir ada sabit kodlanır:

if (!EventLog.SourceExists("MySuperSpecialEventLog"))
    EventLog.CreateEventSource("MySuperSpecialEventLog", "MyLog");

Bu özel günlüğe kaydedilen olaylarla birlikte tüm sunucuları nasıl bulabilirim?

Powershell ile oynuyordum:

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"
}

Bu bana bir sunucu listesi veriyor ... sonra da Services ForEach sunucusunun bir listesini çıkarmaya çalışıyorum ... o zaman sadece ...

Ama tüm silindirlere tıklayacak bir şey bulamıyorum.

Powershell doğru araç değilse - o belirli EventLog'a sahip tüm sunucuları bulmak için başka ne işe yarar?


foreach olmalıforeach($server in $servers)
— LotPings

evet, bu bir çeviri
— hatasıydı

Tam olarak ne arıyorsunuz? Olay günlüklerinden (MyLog) ve olay günlük kaynaklarından (MySuperSpecialEventLog) bahsettiniz, ardından her sunucudan hizmetlerin bir listesini almaya çalıştığınızı söylüyorsunuz.
— Patrick Seymour

Yanıtlar:


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
    }
}

Bu yankı computer : has MySuperSpecialEventLog entriesya dacomputer : exceptionmessage

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.