为了账号安全,请及时绑定邮箱和手机立即绑定

编写 PowerShell 基准测试命令的脚本

编写 PowerShell 基准测试命令的脚本

函数式编程 2022-09-06 16:35:03
首先我想说,我对编码并不那么感兴趣。我学到的唯一语言是一点点python,只是基础知识。我想让我的工作更轻松,并自动执行一些我现在必须手动完成的任务。问题:有时我必须为客户的一些工作站PC创建基准。我通过以下方式意识到这一点:powershell -> winsat disk -vpowershell -> winsat cpuformal -vpowershell -> winsat memformal -vpowershell -> winsat graphicsformal -vpowershell -> winsat dwmformal -v因此,我使用管理员权限启动powershell并键入第一个命令,等待结果并将其复制并粘贴到.txt文件中。然后是下一个和下一个等等。我的问题:如何:使用脚本中的管理员权限打开 PowerShell 键入命令并执行它(如“打印 winsat disk...”)等待结果显示并复制粘贴到.txt您的帮助将不胜感激。
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

WMI 系统有一个存储该数据的类。[grin] 你可以调用它,要么直接使用生成的对象,要么构建一个只有你想要的东西的对象。

它的作用...

  • 使用 CIM 内容访问指定系统的 WinSAT 信息

  • 计算评级的平均值

  • 构建一个来保存该信息PSCustomObject

  • 显示信息

代码 ...

$CIM_WinSAT = Get-CimInstance -ClassName Win32_WinSAT -ComputerName $env:COMPUTERNAME


$Average_WinSAT = ($CIM_WinSAT.PSObject.Properties.Where({$_ -match 'score'}).Value |

    Measure-Object -Average).Average


$WinSAT_Info = [PSCustomObject]@{

    ComputerName = $CIM_WinSAT.PSComputerName

    Perf_WinExp_Average = '{0:N2}' -f $Average_WinSAT

    Perf_WinExp_All = $CIM_WinSAT.WinSPRLevel

    Perf_WinExp_CPU = $CIM_WinSAT.CPUScore

    Perf_WinExp_RAM = $CIM_WinSAT.MemoryScore

    Perf_WinExp_Disk = $CIM_WinSAT.DiskScore

    Perf_WinExp_Vid = $CIM_WinSAT.GraphicsScore

    Perf_WinExp_Vid_D3D = $CIM_WinSAT.D3DScore

    }


$WinSAT_Info

输出。。。


ComputerName        : [MySysName]

Perf_WinExp_Average : 7.02

Perf_WinExp_All     : 6.5

Perf_WinExp_CPU     : 7.3

Perf_WinExp_RAM     : 7.3

Perf_WinExp_Disk    : 7.5

Perf_WinExp_Vid     : 6.5

Perf_WinExp_Vid_D3D : 6.5


查看完整回答
反对 回复 2022-09-06
?
潇湘沐

TA贡献1816条经验 获得超6个赞

尝试:

导入操作系统

os.system(“”“powershell -command ”winsat disk -v“ >> result.txt ”“”)

os.system(“”“powershell -command ”winsat cpuformal -v“ >> result.txt ”“”)

您可以尝试使用管理员运行此脚本。此处参考


查看完整回答
反对 回复 2022-09-06
  • 2 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信