我们想检查是否存在具有特定源名称的日志.日志创建如下:
New-EventLog -LogName Application -Source "MyName"
Run Code Online (Sandbox Code Playgroud)
现在我们要使用PowerShell函数来检查此日志是否存在.一个有效的解决方案如下:
[System.Diagnostics.EventLog]::SourceExists("MyName") -eq $false
Run Code Online (Sandbox Code Playgroud)
如果日志存在则返回False,如果不存在则返回true.
我们如何制作这段代码,以便它使用PowerShell的内置功能而不是.NET类?我们从这里尝试了代码:
$sourceExists = !(Get-EventLog -Log Application -Source "MyName")
Run Code Online (Sandbox Code Playgroud)
但它返回一个GetEventLogNoEntriesFound例外.
有人可以帮助我们吗?谢谢.
您可以将其包装在 Cmdlet 中,如下所示:
function Test-EventLog {
Param(
[Parameter(Mandatory=$true)]
[string] $LogName
)
[System.Diagnostics.EventLog]::SourceExists($LogName)
}
Run Code Online (Sandbox Code Playgroud)
注意:您需要从提升的 PowerShell 控制台(以管理员身份运行)运行此脚本才能正常工作:
Test-EventLog "Application"
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10333 次 |
| 最近记录: |