1.导出系统日志,以近年来几天子命名

DOS 保存系统日志,dos保存日志

1.导出系统日志,以当下日子命名

@echo off
set nowDate=%date%
set tmp=%nowDate:~0,-3%
set file=%tmp:/=-%种类日志.evtx

echo %nowDate%>%file%

wevtutil epl system >>%file%

==================================================

2.wevtutil ::DOS日志命令

wevtutil el 查看windows全数日志分类

wevtutil epl setup C:\澳门金沙国际 ,setup.evtx 导出setup日志

wevtutil epl system C:\system.evtx

wevtutil epl application C:\application.evtx

wevtutil epl hardwareevents C:\hardwareevents.evtx

其余参数:

el | enum-logs          列出日志名称。
gl | get-log            获取日志配置信息。
sl | set-log            修改日志配置。
ep | enum-publishers    列出事件发布者。
gp | get-publisher      获取发布者配置信息。
im | install-manifest   从清单中安装事件发布者和日志。
um | uninstall-manifest 从清单中卸载事件发布者和日志。
qe | query-events       从日志或日志文件中查询事件。
gli | get-log-info      获取日志状态信息。
epl | export-log        导出日志。
al | archive-log        存档导出的日志。
cl | clear-log          清除日志。

====================================================================

谢谢大家分享:

1.导出系统日志,以当下日子命名

经过PowerShell操作事件日志,保存系统日志。管理员能够获取新闻的关键来源是事件日志,PowerShell中有尤其的Get-伊夫ntLog
cmdlet处理事件日志。为了博取已存在的轩然大波日志,须要运用-list参数以回到System.Diagnostics.伊夫ntLog类型的对象集合。获取这几个指标后即可实现其余与系统日志相关联的操作,如下所示:

@echo off
set nowDate=%date%
set tmp=%nowDate:~0,-3%
set file=%tmp:/=-%系统日志.evtx

DOS命令创设以日期为文件名的天职业安全健康插TXT文件

保存系统日志,dos保存日志
1.导出系统日志,以近期些天期命名 @echo off set nowDate=%date% set
tmp=%nowDate:~0,-3% set file=%tmp:/=-%系统日志.evtx echo…

@echo off
set nowDate=%date%
set tmp=%nowDate:~0,-3%
set file=%tmp:/=-%系统日志.evtx

澳门金沙国际 1

echo %nowDate%>%file%

echo %nowDate%>%file%

从下例的输出能够见到近日系统中留存的日记条数:

wevtutil epl system >>%file%

wevtutil epl system >>%file%

PS C:\PowerShell\AppendixB> get-eventlog -list

==================================================

==================================================

Max(K) Retain OverflowAction Entries Name

2.wevtutil ::DOS日志命令

2.wevtutil ::DOS日志命令


wevtutil el 查看windows全体日志分类

wevtutil el 查看windows全数日志分类

512 7 OverwriteOlder 486 Application

wevtutil epl setup C:\setup.evtx
导出setup日志

wevtutil epl setup C:\setup.evtx
导出setup日志

512 7 OverwriteOlder 0 Internet Explorer

wevtutil epl system C:\system.evtx

wevtutil epl system C:\system.evtx

512 7 OverwriteOlder 1 Security

wevtutil epl application
C:\application.evtx

wevtutil epl application
C:\application.evtx

512 7 OverwriteOlder 2,166 System

wevtutil epl hardwareevents
C:\hardwareevents.evtx

wevtutil epl hardwareevents
C:\hardwareevents.evtx

15,360 0 OverwriteAsNeeded 2,148 Windows PowerShell

其余参数:

任何参数:

① 、获取特定的轩然大波日志

首先获得有关PowerShell系统日志的日志对象:

PS C:\PowerShell\AppendixB> $log = get-eventlog -list |

>> ? { $_.logdisplayname -like “*Pow*” }

>>

接下去检搜查捕获取的日记是还是不是健康:

PS C:\PowerShell\AppendixB> $log.LogDisplayName

Windows PowerShell

跟着查阅近期发生的5条系统日志:

PS C:\PowerShell\AppendixB> get-eventlog $log.LogDisplayName
-newest 5

Index Time EntryType Source InstanceID Message


2148 九月 20 10:06 Information PowerShell 400 Engine state is changed
fro…

2147 九月 20 10:06 Information PowerShell 600 Provider “Certificate” is
S…

2146 九月 20 10:06 Information PowerShell 600 Provider “Variable” is
Star…

2145 九月 20 10:06 Information PowerShell 600 Provider “Registry” is
Star…

2144 九月 20 10:06 Information PowerShell 600 Provider “Function” is
Star…

翻看系统日志最大的容积:

PS C:\PowerShell\AppendixB> $log.MaximumKilobytes

15360

从中能够看到是15 MB,然后加倍系统允许的最大日志大小:

PS C:\PowerShell\AppendixB> $log.MaximumKilobytes *= 2

PS C:\PowerShell\AppendixB> $log.MaximumKilobytes

30720

el | enum-logs          列出日志名称。
gl | get-log            获取日志配置信息。
sl | set-log            修改日志配置。
ep | enum-publishers    列出事件发布者。
gp | get-publisher      获取发布者配置信息。
im | install-manifest   从清单中安装事件发布者和日志。
um | uninstall-manifest 从清单中卸载事件发布者和日志。
qe | query-events       从日志或日志文件中查询事件。
gli | get-log-info      获取日志状态信息。
epl | export-log        导出日志。
al | archive-log        存档导出的日志。
cl | clear-log          清除日志。

====================================================================

谢谢大家分享:
el | enum-logs          列出日志名称。
gl | get-log            获取日志配置信息。
sl | set-log            修改日志配置。
ep | enum-publishers    列出事件发布者。
gp | get-publisher      获取发布者配置信息。
im | install-manifest   从清单中安装事件发布者和日志。
um | uninstall-manifest 从清单中卸载事件发布者和日志。
qe | query-events       从日志或日志文件中查询事件。
gli | get-log-info      获取日志状态信息。
epl | export-log        导出日志。
al | archive-log        存档导出的日志。
cl | clear-log          清除日志。

====================================================================

谢谢大家分享:

② 、将事件日志作为实时对象

EventLog对象的要紧特点是实际上时性,即只要获得这几个目的,则可不止地检讨它,以查看是还是不是发生了新的风浪。例如,能够查看保存在$log变量中的PowerShell日志:

PS C:\PowerShell\AppendixB> $log

Max(K) Retain OverflowAction Entries Name


30,720 0 OverwriteAsNeeded 2,148 Windows PowerShell

能够见到日前的日记条数是2
148条。上边扩展运转七个PowerShell实例扩张多条日志,那里向PowerShell实例传递了exit命令,每一种新实例在开发银行今后马上退出:

PS C:\PowerShell\AppendixB> powershell exit

PS C:\PowerShell\AppendixB> powershell exit

PS C:\PowerShell\AppendixB> powershell exit

下边再一次查看$log的天性:

PS C:\PowerShell\AppendixB> $log

Max(K) Retain OverflowAction Entries Name


30,720 0 OverwriteAsNeeded 2,187 Windows PowerShell

能够看来日志中曾经添加了多条新记录。接下来清理已经添加的日志,执行此操作通过独立运转PowerShell实例清除现有PowerShell的日志,命令如下:

PS C:\PowerShell\AppendixB> powershell {

>> (get-eventlog -list |

>> ?{$_.LogDisplayName -like “*Pow*”}).Clear()

>> }

>>

内部的一声令下传递脚本块给一个新的PowerShell进度,那么些脚本块获取PowerShell
伊芙ntLog对象并调用Clear()方法清除已有的日志,在子进度甘休之后查看当前的日志:

PS C:\PowerShell\AppendixB> $log

Max(K) Retain OverflowAction Entries Name


30,720 0 OverwriteAsNeeded 1 Windows PowerShell

能够看看PowerShell的日志已经被清空。

DOS命令创制以日期为文件名的天职布置TXT文件

DOS命令创造以日期为文件名的天职业安全健康插TXT文件

叁 、保存事件日志

能够经过PowerShell的Export-Clixml
cmdlet保存事件日志以便于末日处理,导出日志的授命如下所示:

PS C:\PowerShell\AppendixB> $log.Entries | Export-Clixml
c:\log.xml

此地经过命令将数据重复读出日志:

PS C:\PowerShell\AppendixB> $date = Import-Clixml C:\log.xml

为了比较从实时对象读取的日志,以及从外表读入的日记的例外,上面输出实施日志的新闻:

PS C:\PowerShell\AppendixB> $log.Entries[0..3] |

>> ft -auto Index,Time,EventID,Message

>>

Index Time EventID Message


1 403 Engine state is changed from Available to StoppeD- …

2 600 Provider “WSMan” is StarteD- …

3 600 Provider “Alias” is StarteD- …

4 600 Provider “Environment” is StarteD- …

从外表再次读入的数额记录如下:

PS C:\> $data[0..3] |

>> ft -auto Index,Time,EventID,Message

>>

Index Time EventID Message


1 403 Engine state is changed from Available to StoppeD- …

2 600 Provider “WSMan” is StarteD- …

3 600 Provider “Alias” is StarteD- …

4 600 Provider “Environment” is StarteD- …

三遍输出的内容或多或少相同。当然读入的数目与实时对象有所差异,它不再是实时对象。没有任何方法,对其属性的改动也不会反效果于系统。

Get-MachinesMissingHotfix.ps1脚本的代码如下所示:

get-process | foreach {$processes = @{}} {

$processes[$_.processname] = $_}

get-service |

where {$_.Status -match “running” –and

$_.ServiceType -eq “Win32OwnProcess” } |

foreach {

new-object psobject |

add-member -pass NoteProperty Name $_.Name |

add-member -pass NoteProperty PID $processes[$_.Name].Id |

add-member -pass NoteProperty WS $processes[$_.Name].WS |

add-member -pass NoteProperty Description $_.DisplayName |

add-member -pass NoteProperty FileName `

$processes[$_.Name].MainModule.FileName

} |

export-csv -notype ./service_datA.csv

 

作者: 付海军
出处:
版权:本文版权归小编和和讯共有
转发:欢迎转发,为了保存小编的写作热情,请按须要【转发】,谢谢
务求:未经小编同意,必须保留此段注解;必须在篇章中提交原文连接;不然必究法律义务
个体网站:

相关文章