1
我通過Powershell Remoting連接到遠程計算機,並試圖在特定日期時間後檢索事件日誌條目。問題是,我永遠不能確定服務器居住在什麼時區,甚至是什麼區域......我的「之後」參數是UTC。找到並將正確的時間戳傳遞給Get-EventLog函數最有效的方法是什麼?之後,使用UTC時間戳檢索日誌實體?從C#處理Get-EventLog和時區
這是一個代碼示例。 「after」參數具有基於UTC的日期。
using (var cmd = PowerShell.Create().AddCommand("get-eventlog"))
{
cmd.RunspacePool = pool;
cmd.AddParameter("-LogName", logName);
cmd.AddParameter("-After", after);
var result = cmd.Invoke();
foreach (var sample in result.Where(n => n.Properties != null && n.Properties.Any()))
{
var dentry = sample as dynamic;
var newEntry =
new PowershellEventLogEntry
{
Channel = logName,
Category = dentry.Category,
CategoryNumber = dentry.CategoryNumber,
Data = dentry.Data,
EntryType = dentry.EntryType,
EventId = dentry.EventId,
MachineName = dentry.MachineName,
Message = dentry.Message,
Source = dentry.Source,
Timestamp = dentry.TimeGenerated
};
謝謝,由於某種原因,我認爲時間戳錯了,但它們是正確的,只需要重新轉換爲UTC – Igorek