Добрый день.
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 будет продолжен в одной из следующих статей. Оставайтесь с нами.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.
[…] разговор о PowerShell. В поставку оболочки входит больше сотни […]
Оповещение : OpenQuality.ru | PowerShell: автоматизация тестирования GUI | Декабрь 5, 2008
Выглядит симпатично - PowerShell подкупает выразительностью - скрипт читается практически как роман :).
Сразу не приходят в голову преимущества использования PowerShell по сравнению с Performance Counter’ом в данном конкретном случае. Возможно, я чего-то не вижу?
Автор : Artour Bakiev | Декабрь 8, 2008
Артур, спасибо за комментарий!
Если нужен захватывающий роман, то скрипты на Perl поинтересней будут :)
Если говорить о PowerShell, то на мой взгляд у него еще все впереди: начало положено, но путь предстоит долгий и тернистый. Лично для меня PowerShell интересен тем, что можно все получить в одном флаконе. Пример: у тебя есть .Net-приложение, и тебя интересуют различные аспекты его работы: setup, GUI, core functionality, performance. Все эти проверки ты можешь реализовать средствами PowerShell, не прибегая к другим инструментам.
Иными словами, для тех или иных проверок могут найтись более удобные инструменты, но здесь интересна именно возможность реализовать это одним инструментом плюс то, что этот инструмент встроен в Windows (начиная с 2008) и будет развиваться.
Автор : Капитан Аляска | Декабрь 8, 2008
Русская книга о Powershell
http://blogs.technet.com/abeshkov/archive/2008/12/24/3172943.aspx
Возможно вам будет интересно.
Автор : Василий | Декабрь 25, 2008
Василий, спасибо!
Автор : Капитан Аляска | Декабрь 26, 2008
Спасибо за инфу. Сам пользуюсь в офисной сетке Powershellom. Из консоли довольно удобно все делать…
Автор : бетонов | Апрель 25, 2010