Добрый день.
PowerShell – это программная оболочка и скриптовый язык для выполнения административных задач в среде Windows. Многогранность возможностей PowerShell может оказаться полезной при тестировании приложений: API- и performance-тесты, регрессионные проверки графического интерфейса, анализ результатов и выдача отчетов. Рассмотрим три небольших сценария (на примере SQL-сервиса).
1. Количество Threads и Handles для заданного процесса (process.ps1):
function ProcessGetInfo([string] $processName) { $processInfo = Get-Process $processName $line = "" + $processInfo.Threads.Count $line += " " + $processInfo.Handles return $line } $processName = $args[0] $pause = 5 $timestamp = 0 while($true) { $line = "" + $timestamp + " " $line += ProcessGetInfo $processName $line sleep $pause $timestamp += $pause } Запуск: powershell .\process.ps1 sqlservr 0 36 518 5 36 524 ...
2. Показания счетчика User Connections (perfcount.ps1)
$sqlconnections = New-Object System.Diagnostics.PerformanceCounter("SQLServer:General Statistics", "User Connections") while (1) { $sqlconnections.RawValue Start-Sleep -seconds 1 } Запуск: powershell .\perfcount.ps1 8 10 ...
3. Список событий из Application-лога, отвечающих заданному условию
Get-EventLog Application | Where-Object { $_.Source -match "MSSQLSERVER" } | Format-List > sql.log В sql.log получим: Index : 6116 EntryType : Information EventID : 17177 Message : This instance of SQL Server has been using a process ID of 212 since 11/14/2008 4:03:03 PM (local) 11/14/2008 1:03:0 3 PM (UTC). This is an informational message only; no user action is required. Category : Server CategoryNumber : 2 ReplacementStrings : {212, 11/14/2008 4:03:03 PM, 11/14/2008 1:03:03 PM} Source : MSSQLSERVER TimeGenerated : 11/24/2008 12:00:17 AM TimeWritten : 11/24/2008 12:00:17 AM UserName : Index : 6065 ...
Разговор о PowerShell будет продолжен в одной из следующих статей. Оставайтесь с нами.
P.S. Ссылка на вводную статью от одного из наших читателей: извольте.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.
Pingback : OpenQuality.ru | PowerShell: автоматизация тестирования GUI | December 5, 2008
[…] разговор о PowerShell. В поставку оболочки входит больше сотни […]
Автор комментария : Artour Bakiev | December 8, 2008
Выглядит симпатично - PowerShell подкупает выразительностью - скрипт читается практически как роман :).
Сразу не приходят в голову преимущества использования PowerShell по сравнению с Performance Counter’ом в данном конкретном случае. Возможно, я чего-то не вижу?
[Ответить]
Автор комментария : Капитан Аляска | December 8, 2008
Артур, спасибо за комментарий!
Если нужен захватывающий роман, то скрипты на Perl поинтересней будут :)
Если говорить о PowerShell, то на мой взгляд у него еще все впереди: начало положено, но путь предстоит долгий и тернистый. Лично для меня PowerShell интересен тем, что можно все получить в одном флаконе. Пример: у тебя есть .Net-приложение, и тебя интересуют различные аспекты его работы: setup, GUI, core functionality, performance. Все эти проверки ты можешь реализовать средствами PowerShell, не прибегая к другим инструментам.
Иными словами, для тех или иных проверок могут найтись более удобные инструменты, но здесь интересна именно возможность реализовать это одним инструментом плюс то, что этот инструмент встроен в Windows (начиная с 2008) и будет развиваться.
[Ответить]
Автор комментария : Василий | December 25, 2008
Русская книга о Powershell
http://blogs.technet.com/abeshkov/archive/2008/12/24/3172943.aspx
Возможно вам будет интересно.
[Ответить]
Автор комментария : Капитан Аляска | December 26, 2008
Василий, спасибо!
[Ответить]
Автор комментария : бетонов | April 25, 2010
Спасибо за инфу. Сам пользуюсь в офисной сетке Powershellom. Из консоли довольно удобно все делать…
[Ответить]
Автор комментария : Amy Snapp | June 18, 2018
One more link: http://www.computerperformance.co.uk/powershell/index.htm
[Ответить]