Создание сценариев команд тестирования PowerShell - PullRequest
0 голосов
/ 18 марта 2020

Сначала я хочу сказать, что я не настолько увлечен кодированием.
Единственный язык, который я выучил, это немного python, только основы.

Я хочу упростить свою работу и автоматизировать некоторые задачи, которые мне нужно выполнять вручную.

Проблема:

Иногда мне приходится создавать эталонный тест некоторых компьютеров наших рабочих станций.
Я понимаю это с помощью:

powershell -> диск winsat -v

powershell -> процессор winsat -v

powershell -> winsat memformal -v

powershell -> winsat graphicsformal - v

powershell -> winsat dwmformal -v

Итак, я запускаю powershell с правами администратора и набираю первую команду, жду результата и копирую + вставляю его в .txt файл. Затем следующий и следующий et c.

Мой вопрос:

Как мне:

Открыть PowerShell с правами администратора из скрипта
Введите команду и выполните ее ( например, «print winsat disk ...»)
Подождите, пока появятся результаты, и скопируйте их в .txt

Ваша помощь будет принята.

Ответы [ 2 ]

0 голосов
/ 18 марта 2020

В системе WMI есть класс, в котором хранятся эти данные. [ ухмылка ] вы можете вызвать его и либо использовать полученный объект напрямую, либо создать тот, который имеет только то, что вы хотите.

что он делает ...

  • использует материал 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
0 голосов
/ 18 марта 2020

Попробуйте:

import os

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

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

Вы можете попробовать запустить этот скрипт с помощью администратора. Ссылка здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...