如何使用 PowerShell 命令从 Nutanix Hyper-V 主机收集 Hyper-V 日志
如何使用 PowerShell 命令从 Nutanix Hyper-V 主机收集 Hyper-V 日志
如何使用 PowerShell 命令从 Nutanix Hyper-V 主机收集 Hyper-V 日志
描述
本文介绍使用 PowerShell 命令从 Hyper-V 主机收集虚拟机管理程序日志的过程。
适用系统
思维敏捷HX
程序
- 登录到包含遇到问题的 VM 的虚拟机管理程序主机。
- 打开Windows PowerShell 并选择以管理员身份运行。
- Get -WinEvent cmdlet 用于从本地或远程服务器提取日志。 Windows服务器有数百个日志,因此您应该只收集您需要的日志。例如, Get-Winevent -Listlog * 命令的输出会很广泛。
在下面显示的简短示例输出中,大约有 19 个 Hyper-V 日志。
以下步骤介绍用于捕获日志并将输出保存为 CSV 格式的命令示例。 - 按照下面列出的过程仅捕获 Hyper-V 日志并将输出包保存到您选择的目录。
- 使用mkdir c:\temp命令创建临时目录。
注意:如果输出目录不存在,其余步骤将失败。 - 运行以下 PowerShell 脚本来收集 Hyper-V* 日志和 SMBClient* 日志,并将输出放置在文件名中包含计算机名称的 c:\temp 文件夹中。
Get-WinEvent @{logname = "Microsoft- Windows -Hyper-V*","Microsft- Windows -SMBClient*" -ErrorAction忽略|选择TimeCreated 、 LogNAme 、 Id 、 LevelDisplayName 、 ProviderName 、 Message 、 MachineName 、 UserId | Export-Csv -Path "c:\temp\ $env:计算机名-hyperv.csv" -NoTypeInformation
- 运行 dir c:\temp命令以显示新创建的 CSV 文件。
- 运行以下脚本以将应用程序日志和系统日志收集为组合日志,并按创建时间对所有事件进行排序。
Get-WinEvent @{logname= 'application','system' } -ErrorAction 忽略|选择TimeCreated 、 LogNAme 、 Id 、 LevelDisplayName 、 ProviderName 、 Message 、 MachineName 、 UserId | Export-Csv -Path "c:\temp\ $env:computername -applicationsystem.csv" -NoTypeInformation
- 使用mkdir c:\temp命令创建临时目录。
- 当您想要收集特定日期的日志或仅与警告和错误相关的日志时,请将不同参数与Get-WinEvent命令结合使用以过滤输出。
- 要收集昨天的所有 Hyper-V 日志,请运行以下脚本:
Get-WinEvent -FilterHashTable @{LogName = "Microsoft- Windows -Hyper-V*" ;开始时间= (获取日期) 。添加天数( -1 )}
- 要仅收集昨天的警告,请运行以下脚本:
Get-WinEvent -FilterHashTable @{LogName = "Microsoft- Windows -Hyper-V*" ;开始时间= (获取日期) 。添加天数( -1 ) ;等级 = 3 }
- 要仅收集昨天的错误消息,请运行以下脚本:
Get-WinEvent -FilterHashTable @{LogName = "Microsoft- Windows -Hyper-V*" ;开始时间= (获取日期) 。添加天数( -1 ) ;等级 = 2 }
- 要收集 hyper-V 日志并将其输出到文件夹,请运行以下脚本:
Get-WinEvent -FilterHashTable @{LogName = "Microsoft- Windows -Hyper-V*" ;开始时间= (获取日期) 。 AddDays( -1 )} -ErrorAction忽略| Export-Csv -Path "c:\temp\ $env:计算机名-hyperv.csv" -NoTypeInformation
- 要收集昨天的所有 Hyper-V 日志,请运行以下脚本:
- 压缩日志文件并使用Lenovo上传工具将整个日志发送给Lenovo支持。