远程通过 C# 的 Microsoft 诊断工具
Microsoft Diagnostic Tool via C# remotely
我需要一种在远程计算机上通过 C# 执行 Microsoft Diagnostic Tool Troubleshooting Pack 的有效方法。
疑难解答的标准是:
- 运行 提升(管理员)。
- 运行沉默。
- 运行无人值守。
我已经找到了一些通过 Powershell 完成此操作的方法,但是没有成功地让它工作。
如果 运行 使用 Powershell,我需要它 运行 使用来自用户的凭据 运行 连接 C# 应用程序,或者至少被提示输入凭据。
我已经通过 msdt.exe
和 cmd 通过 WMI 设法 运行 故障排除程序。但是,它没有完成,我只看到任务管理器中的进程 运行ning。
我尝试执行的疑难解答程序包是 AERO。
目标操作系统是Windows7,在域网络上。
您可以在远程计算机上的任务计划程序中创建一个任务,指定带有参数的可执行文件,并且您可以指定凭据和 "Run with highest privileges (elevated)" 标志。您可以使用启动 Aero 故障排除包的 Powershell 脚本作为具有日志收集功能的无人值守任务。然后,您允许手动启动此任务,然后,一旦需要,您可以通过 schtasks.exe /run
执行计划任务的启动。通过这种方式,无人值守是通过 Powershell 脚本 like here (Windows 7 Resource Kit book) 实现的,凭据和提升的 运行 由任务计划程序引擎提供。问题脚本如下:
Import-Module TroubleshootingPack
$aero=Get-TroubleshootingPack $env:systemroot\diagnostics\system\aero
Invoke-TroubleshootingPack -pack $aero -result "c:\temp" -unattend
我需要一种在远程计算机上通过 C# 执行 Microsoft Diagnostic Tool Troubleshooting Pack 的有效方法。
疑难解答的标准是:
- 运行 提升(管理员)。
- 运行沉默。
- 运行无人值守。
我已经找到了一些通过 Powershell 完成此操作的方法,但是没有成功地让它工作。
如果 运行 使用 Powershell,我需要它 运行 使用来自用户的凭据 运行 连接 C# 应用程序,或者至少被提示输入凭据。
我已经通过 msdt.exe
和 cmd 通过 WMI 设法 运行 故障排除程序。但是,它没有完成,我只看到任务管理器中的进程 运行ning。
我尝试执行的疑难解答程序包是 AERO。
目标操作系统是Windows7,在域网络上。
您可以在远程计算机上的任务计划程序中创建一个任务,指定带有参数的可执行文件,并且您可以指定凭据和 "Run with highest privileges (elevated)" 标志。您可以使用启动 Aero 故障排除包的 Powershell 脚本作为具有日志收集功能的无人值守任务。然后,您允许手动启动此任务,然后,一旦需要,您可以通过 schtasks.exe /run
执行计划任务的启动。通过这种方式,无人值守是通过 Powershell 脚本 like here (Windows 7 Resource Kit book) 实现的,凭据和提升的 运行 由任务计划程序引擎提供。问题脚本如下:
Import-Module TroubleshootingPack
$aero=Get-TroubleshootingPack $env:systemroot\diagnostics\system\aero
Invoke-TroubleshootingPack -pack $aero -result "c:\temp" -unattend