Powershell 1.0 – основы для администраторов. Часть 2

 

Псевдонимы (aliases)

Для сокращения ввода и просто для удобства работы при вызове можно применять псевдонимы. Есть встроенные псевдонимы, например ps вместо get-process или gci вместо get-childitem. Полный список псевдонимов можно увидеть через get-alias.

Можно создавать свои псевдонимы. Это делается командами Set-Alias или New-Alias, но они будут доступны только в текущей сессии работы WPS.  Псевдоним можно создать для любой внешней программы, например для Блокнота это выглядит так:

Set-Alias npd notepad.exe

WPS может вычислять выражения. Наберите в строке 2+5 и посмотрите результат).

Посмотреть все команды можно с помощью Get-command. Например, вывод всех команд, начинающихся с get:

Get-command get-*

Справка выводится по команде Get-help. Например, помощь по get-process:

Get-help get-process или get-process -?

Полная справка по команде дается с ключом full

Get-help get-process –full

 

Конвейеры

WPS поддерживает объектно-ориентрованные конвейеры, которые позволяют передавать результат работы одной команды в другую. Для создания конвейера используется вертикальная черта |. В конвейер передается типизированный .Net объект.

Например, вывод только имени и размера doc файлов размером больше 20Кб, отсортированных по размеру, можно выполнить такой командой:

Get-ChildItem c:\mydata –r -filter *.doc

| Where-Object { $_.Length -gt 20000 }

| Select-Object Name, Length

| Sort-Object Length

| Format-List

Остановить процесс можно так, на примере iexplore:

Get-Process iexplore | Stop-Process

Форматирование вывода осуществляется с помощью следующих команд:

  • Format-Wide вывод в две колонки
  • Format-List детальный список
  • Format-Table таблица

Например, выполните следующие команды и сравните вывод:

Get-process | Format-Wide

Get-process | Format-List

Get-process | Format-Table

Вывод отдельных полей в таблице можно задать так:

Get-Process | Format-Table -p id,processname,handles

Подавление вывода:

Get-Process | Out-Null

Вывод на принтер

Get-Process | Out-Printer

Вывод на конкретный принтер

Get-Process | Out-Printer "Printer 1"

Вывод в файл

Get-Process | Out-file "c:\a\1.txt"

Вывод в файл отформатированной таблицы

Get-Process | Format-Table id, processname, cpu, ws | Out-file "c:\a\1.txt"

Фильтр where для задания условий

Get-Process | Where-Object {$_.ws -gt 1000000 }

В следующей части я расскажу о модели навигации в WPS.

Вышел RC Windows Server 2008 и Vista SP2

Как сообщает Windows Server Division Weblog, вышел релиз кандидат sp2 для Windows Server 2008 и Vista.

Среди объявленных новшеств:

  • Hyper-V RTM интегрирован в SP2
  • улучшенное управление питанием
  • SP2 будет поставляться в едином дистрибутиве для Server 2008 и Vista (32 и 64 версии отдельно)

Подробности можно посмотреть здесь.

PowerShell 1.0 – основы для администраторов

Этой публикацией я открываю небольшой цикл, в котором расскажу о командной строке – Windows PowerShell 1.0. Я ставлю перед собой задачу дать начальное представление, что это такое и как устроено, и показать простые примеры использования, которые могут пригодиться администраторам в реальной работе. Я намеренно оставляю за кадром архитектуру PowerShell и возможности программирования на нем (скрипты, использование .NET объектов), сосредоточившись исключительно на интерактивном применении простых команд.

 

Часть 1

 

Windows PowerShell - что это такое? 

  • Windows PowerShell (далее WPS) - это продвинутая командная строка, подобная UNIX shell, но с поддержкой .NET, COM и WMI.
  • Команды, которые вы вызываете в WPS, называются commandlets (в русской документации они называются командлеты, я же далее буду называть их команды)
  • Команды поддерживают конвейеры (pipelines), т.е. могут передавать результат своей работы другим командам в рамках одной строки вызова

 Где взять?

В Windows 2008 поставляется в дистрибутиве, но требует отдельной установки через добавление роли. Для других ОС нужно скачать дистрибутив с сайта Microsoft. Поддерживаемые ОС:

  • Windows XP with Service Pack 2
  • Windows Server 2003 with Service Pack 1
  • Windows Vista

WPS является .NET приложением и требует наличия .NET 2.0 в системе. WPS может работать в двух режимах – интерактивном и скриптовом. Мы будем рассматривать работу в интерактивном режиме.

Первые команды

Откройте консоль WPS и наберите следующие команды (WPS регистронезависим):

get-process  - вы получите список всех процессов в системе

get-service ms* – вы получите список всех сервисов, имена которых начинаются с ms

get- и нажмите клавишу tab – вы воспользовались функцией автозавершения (нажимая клавишу несколько раз, вы перебираете возможные варианты команд)

Get-Eventlog – эта команда требует ввода параметров, ответьте на приглашение LogName: и введите  Application – будет выведен системный журнал событий Application

 

Структура команд

Команда WPS состоит из трех элементов – глагола, существительного и списка параметров (опционально). Глагол и существительное разделены дефисом, например:

get-process

Список параметров передается через пробел, например:

Get-childitem c:\ (будет выведено содержимое корневого каталога)

Если параметр содержит пробел, его надо заключать в кавычки:

Get-childitem “c:\Program Files”

Параметры можно передавать по имени или по порядку. В случае передачи по порядку, он должен соответствовать порядку параметров в документации, иначе будет ошибка. Например:

Get-ChildItem C:\mydata *.doc

Get-ChildItem -Path C:\mydata -Filter *.doc

Get-ChildItem -Filter *.doc -Path C:\mydata

Get-ChildItem *.doc C:\mydata  - эта строка даст ошибку

 

Параметр без значения называется свитчем, и по смыслу является функцией:

Get-ChildItem с:\mydata\docs –recurse

Автозавершение  также работает с параметрами. Попробуйте это на примере get-childitem +tab. Также при задании параметров поддерживаются стандартные символы заместители (*, ?, интервалы [a-v] и т.п.) , например:

Get-process ?i*

 

В следующей части я расскажу про псевдонимы и работу с конвейерами.

.NET Framework Configuration Tool в Windows 2008

На курсах часто возникает вопрос - где в Windows Server 2008 находится .NET Framework Configuration Tool?

Дело в том что, начиная с версии 2008, эта утилита в состав сервера не включается, а поставляется в составе .NET Framework 2.0 Software Development Kit (SDK). Т.е. чтобы она появилась в системе, надо установить на сервере  этот SDK.

Установленная утилита позволит вам управлять настройками .NET Framework всех версий (1.1-3.5).

Скачать .NET Framework 2.0 SDK можно здесь.

Сайт Microsoft перешел на IIS 7.5

Согласно данным сайта Netcraft.com, Microsoft полностью перевел сайт www.microsoft.com на платформу IIS 7.5.

В связи с этим, несколько слов о том, что нового в IIS 7.5:

  • Версия IIS 7.5  идет в составе Windows Server 2008 R2.
  • Имеет заново написанные и интегрированные в инсталлятор  FTP сервер и WebDav.
  • IIS7 Administration Pack, Powershell также интегрированы в инстяллятор.
  • ASP.NET приложения теперь поддерживаются на IIS установках под  Server Core.
  • Улучшена поддержка PHP в реализации FastCGI.

Windows Web Server 2008 бесплатно!

Продолжается бесплатная раздача Windows Web Server 2008 в рамках промоакции Microsoft.  Я воспользовался вариантом на Озоне - сервер  прикладывают к книжке компьютерной тематики.

Что привезли? Два диска - с 32 и 64 битной русскими версиями и двумя ключами  (для физической и виртуальной установки).  В рамках акции было объявлено, что версии полнофункциональные, коммерческие, без ограничения срока действия. На дисках написано  Рекламная акция и Не для продажи, никаких ограничений сроков действия не указано.

Курсы Windows 2008 – что выбрать?

 

По Windows Server 2008 Microsoft предлагает очень широкий выбор курсов (больше 20). Как в них сориентироваться и что выбрать?

Для специалистов, работающих с Windows Server 2003, предлагаются переходные курсы:

  • 6416 Updating your Network Infrastructure and Active Directory® Technology Skills to Windows Server® 2008
  • 6417 Updating your Applications Infrastructure Technology Skills to Windows Server® 2008

Для изучения Windows Server 2008 с самого начала и подготовки к экзаменам уровня MCTS вы можете выбрать следующие курсы:

Сетевые технологии (экзамен 70-642 TS: Windows Server 2008 Network Infrastructure, Configuring)

  • 6420 Fundamentals of Windows Server® 2008 Network and Applications Infrastructure
  • 6421 Configuring and Troubleshooting a Windows Server 2008 Network Infrastructure

 

Основы Active Directory (экзамен 70-640 TS: Windows Server 2008 Active Directory, Configuring)

 

  • 6424 Fundamentals of Windows Server 2008 Active Directory
  • 6425 Configuring and Troubleshooting Windows Server 2008 Active Directory Domain Services
  • 6426 Configuring and Troubleshooting Identity and Access Solutions with Windows Server 2008 Active Directory

 

Поддержка инфраструктуры приложений (экзамен 70-643 TS: Windows Server 2008 Applications Infrastructure, Configuring)

 

  • 6418 Deploying Windows Server® 2008
  • 6427 Configuring and Troubleshooting Internet Information Services in Windows Server® 2008
  • 6428 Configuring and Troubleshooting Windows Server® 2008 Terminal Services

Отдельные курсы по технологиям Windows Server 2008

  • 6422 Implementing and Managing Windows Server® 2008 Hyper-V™
  • 6423 Implementing and Managing Windows Server 2008 Clustering
  • 6429 Configuring and Managing Windows Media Services for Windows Server 2008

Эти курсы не относятся непосредственно к экзаменам. На них вы более подробно изучите соответствующие технологии.

Экзамены уровня Pro

Для подготовки к сертификации MCITP: Server Administrator (экзамен 70-646 PRO: Windows Server 2008, Server Administrator)

  • 6430 Planning and Administering Windows Server® 2008 Servers
  • 6431 Managing and Maintaining Windows Server® 2008 Network Infrastructure Servers
  • 6432 Managing and Maintaining Windows Server® 2008 Active Directory® Servers
  • 6434 Automating Windows Server® 2008 Administration with Windows PowerShell

Основным курсом для подготовки является курс 6430. Курсы 6431, 6432 и 6434 носят вспомогательный характер

Дополнительно сертификация MCITP:Server Administrator требует два сертификата уровня MCTS для Windows Server 2008 (должны быть сданы экзамены 70-640 и 70-642)

Для подготовки к сертификации MCITP: Enterprise Administrator (экзамен 70-647 PRO: Windows Server 2008, Enterprise Administrator)

  • 6435 Designing a Windows Server® 2008 Network Infrastructure
  • 6436 Designing a Windows Server® 2008 Active Directory® Infrastructure and Services
  • 6437 Designing a Windows Server 2008 Applications Infrastructure

Дополнительно сертификация MCITP: Enterprise Administrator требует сдачу одного экзамена по Windows Vista (экзамен 70-620 или экзамен 70-624), а также наличие всех трех сертификатов уровня MCTS для Windows Server 2008 (должны быть сданы экзамены 70-640, 70-642 и 70-643)