Создание настраиваемого журнала событий на удаленном сервере с помощью PowerShell - PullRequest
1 голос
/ 31 мая 2011

У меня есть требование, когда мне нужно создать собственный журнал событий на другом сервере.У меня есть команда для создания журнала событий на локальном компьютере, но она нужна для удаленного сервера.Команда для создания журнала событий на локальном компьютере:

powershell -command "if([System.Diagnostics.EventLog]::SourceExists('MySource')){Write 'Eventlog already exists'}else{[System.Diagnostics.EventLog]::CreateEventSource('MySource','MyCustomLog')}"

Я хочу то же самое для удаленного сервера.

Пожалуйста, вставьте код, если это возможно.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 июня 2011

из вашего поста в Posh Comm

Invoke-command -computername server,server -scriptblock {if([System.Diagnostics.EventLog]::SourceExists('MySource')){Write 'Eventlog already exists'}else{[System.Diagnostics.EventLog]::CreateEventSource('MySource','MyCustomLog')}}

Или более элегантный Шей Леви:

New-EventLog -LogName application -Source MySource,MyCustomLog -ComputerName PC1 -ErrorAction SilentlyContinue 
Write-EventLog -LogName application -Source MySource -EntryType information -Message test -EventId 1234 -Computer PC1
0 голосов
/ 31 мая 2011

Существует также CreateEventSource с 3 аргументами, последним из которых является имя компьютера.Это сделало бы это:

if([System.Diagnostics.EventLog]::SourceExists('MySource', 'MyMachine'))
{
  Write 'Eventlog already exists'
}
else
{
  [System.Diagnostics.EventLog]::CreateEventSource('MySource','MyCustomLog', 'MyMachine')
}

Обратите внимание, что метод с 3 аргументами помечен как устаревший.Еще немного поработав, вы можете использовать вариант, который принимает EventSourceCreationData , где вы также можете указать имя компьютера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...