OpenQuality.ru

Качество программного обеспечения

Качество программного обеспечения: в главных ролях

Лента  Радар  Блог  Опыт  
Разум  Видео  Заметки  Эпизоды


PowerShell: первые шаги

Добрый день.

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 будет продолжен в одной из следующих статей. Оставайтесь с нами.

Отправить в Twitter, Facebook, FriendFeed, ВКонтакте | Опубликовано 25.11.2008 в рубрике "Инструменты"

Комментарии (6)

  1. Pingback : OpenQuality.ru | PowerShell: автоматизация тестирования GUI | December 5, 2008

    […] разговор о PowerShell. В поставку оболочки входит больше сотни […]


  2. Автор комментария : Artour Bakiev | December 8, 2008

    Выглядит симпатично - PowerShell подкупает выразительностью - скрипт читается практически как роман :).
    Сразу не приходят в голову преимущества использования PowerShell по сравнению с Performance Counter’ом в данном конкретном случае. Возможно, я чего-то не вижу?

    [Ответить]


  3. Автор комментария : Капитан Аляска | December 8, 2008

    Артур, спасибо за комментарий!

    Если нужен захватывающий роман, то скрипты на Perl поинтересней будут :)

    Если говорить о PowerShell, то на мой взгляд у него еще все впереди: начало положено, но путь предстоит долгий и тернистый. Лично для меня PowerShell интересен тем, что можно все получить в одном флаконе. Пример: у тебя есть .Net-приложение, и тебя интересуют различные аспекты его работы: setup, GUI, core functionality, performance. Все эти проверки ты можешь реализовать средствами PowerShell, не прибегая к другим инструментам.

    Иными словами, для тех или иных проверок могут найтись более удобные инструменты, но здесь интересна именно возможность реализовать это одним инструментом плюс то, что этот инструмент встроен в Windows (начиная с 2008) и будет развиваться.

    [Ответить]


  4. Автор комментария : Василий | December 25, 2008

    Русская книга о Powershell

    http://blogs.technet.com/abeshkov/archive/2008/12/24/3172943.aspx

    Возможно вам будет интересно.

    [Ответить]


  5. Автор комментария : Капитан Аляска | December 26, 2008

    Василий, спасибо!

    [Ответить]


  6. Автор комментария : бетонов | April 25, 2010

    Спасибо за инфу. Сам пользуюсь в офисной сетке Powershellom. Из консоли довольно удобно все делать…

    [Ответить]



Добавить комментарий

Пожалуйста, исправьте результат: дважды два равно



КРАТКОЕ СОДЕРЖАНИЕ

Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.


ПУТЕВОДИТЕЛЬ

Список всех статей с краткой аннотацией и разбивкой по рубрикам. Открыть карту.

ПОДПИСКА

Доступ к самым интересным материалам по электропочте и RSS. Подробности.

ИЩЕЙКА