Первый бета экзамен по Windows 7

С 27 апреля начнется регистрация на бета экзамен 71-680: TS Windows 7, Configuring. Период сдачи с 5 по 18 мая. Количество мест ограничено, регистрация ведется по принципу "кто первый пришел".

Бета экзамен имеет продолжительность 4 часа. Результат экзамена сообщается не сразу, а через некоторое время, обычно это несколько недель. В случае успешной сдачи экзамен считается сданным и фиксируется в транскрипте, как обычный экзамен.

Подробности регистрации смотрите здесь.

Windows 7 serial number

Где взять серийный номер для беты Windows 7 ? Этот вопрос постоянно возникает на курсах.  Все там же - серийный номер можно получить на сайте Microsoft  и после прекращения раздачи бета-версии.

Для получения номера загляните сюда.

Новый блог про Active Directory PowerShell

Команда разработчиков PowerShell в конце февраля открыла новый блог про AD Powershell.

AD Powershell включен в состав Windows Server 2008 R2.  Для того чтобы использовать команды AD Powershell в домене должен быть по крайней мере один домен контроллер Windows Server 2008 R2. Набор команд AD Powershell включает в себя:

  • управление учетными записями
  • управление топологией
  • управление объектами AD
  • провайдеры

Блог находится здесь.

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

 

В этой, заключительной, части цикла я приведу примеры работы с типовыми задачами. Просто запустите команды по приведенному образцу, адаптируя их под свои системы, и посмотрите, как они работают.

 

Работа с файловыми системами

 

Get-PSDrive – посмотреть все диски WPS

Get-PSDrive -psprovider filesystem – посмотреть только диски файловой системы

Get-WmiObject Win32_logicaldisk | Select-Object deviceid,size, freespace – посмотреть букву диска, размер и свободное пространство на всех дисках (здесь используется обращение к WMI классу Win32_logicaldisk)

Get-ChildItem c:\ – просмотр каталога (то же что dir)

Get-ChildItem c:\windows -filter "*.dll" – просмотр каталога с фильтром

Get-ChildItem c:\windows –recurse - просмотр с вложенными каталогами

Get-ChildItem c:\windows | Measure-Object -Property length -min -max -average –sum – подсчет статистики по каталогу

Copy-Item c:\documents\file1.pdf c:\a\f1.pdf – копирование файла

Move-Item с:\documents\f1.pdf c:\a\f1.pdf – перемещение файла

Rename-Item f1.pdf f2.pdf – переименование файла

Remove-Item c:\a\f1.pdf – удаление файла

Get-Item с:\a\f1.pdf - просмотр свойств файла

 

Работа с документами

Get-Content c:\a\f1.csv - чтение файла

Get-Content c:\a\f1.csv | Measure-Object - вывод количества строк в файле

Get-Process | Out-File c:\a\processes1.txt – вывод результата работы команды в файл

Get-Service | ConvertTo-Html name,status –title "Servicelist" -body "List of services" |Set-Content с:\servicelist.htm – вывод результата работы команды в html файл

 

Работа с реестром

Set-Location hklm:\software – перейти в ветку реестра

Get-ChildItem hklm:\software – просмотр ветки реестра

New-Item –path hklm:\software -name test – создать новую ветку в реестре

Copy-Item hklm:\software\test hklm:\software\test_old - скопировать ветку реестра

Remove-Item "hklm:\software\test" –Recurse – удалить ветку реестра с вложениями

 

Автостарт

Get-Wmiobject Win32_StartupCommand – просмотр списка команд в автостарте windows

Общие папки

Get-WmiObject Win32_Share – просмотр списка общих папок

 

Работа с процессами

Get-Process – просмотр списка процессов

gps | Format-Table -GroupBy Name – вызов списка процессов с помощью псевдонима и с форматированием вывода

Get-Process –id 4011 – просмотр конкретного процесса

Start-Process powershell.exe -Credential (Get-Credential) – запуск процесса

Stop-Process -name iexplore – остановка процесса

Get-Process | where { $_.WS -gt 10MB } | stop-process – остановка процесса с условием

 

Работа с сервисами

 

Get-Service | Where-Object {$_.status –eq "running"} – просмотр запущенных сервисов

Get-Service | Where-Object {$_.status –eq "stopped"} – просмотр остановленных сервисов

Get-Service | sort Status | Format-Table -GroupBy Status – форматированный вывод списка сервисов

get-service iisadmin | % { $_.DependentServices } – вывод зависимых сервисов

Start-Service IISADMIN – старт сервиса

Stop-Service IISADMIN –force – старт сервиса вместе с зависимыми

Set-Service IISADMIN -startuptype "manual" – задание режима запуска сервиса

 

Установка нового сервиса

New-Service -Name "NewAppServer"

-binaryPathName c:\soft\appserver.exe

-Description "New App Server”

-DisplayName "New Application Server"

Start-Service NewAppServer

 

Работа с железом

 

Get-WmiObject Win32_Computersystem

Get-WmiObject Win32_OperatingSystem

Get-WmiObject Win32_OperatingSystem | select serialnumber

Get-WmiObject win32_Bios

Get-WmiObject Win32_BootConfiguration

Get-WmiObject Win32_WindowsProductActivation

Get-WmiObject Win32_OSRecoveryConfiguration

Get-WmiObject win32_processor

Get-WmiObject Win32_MemoryDevice

Get-WmiObject Win32_VideoController

Get-WmiObject Win32_SoundDevice

Get-WmiObject Win32_Diskdrive

Get-WmiObject Win32_Tapedrive

Get-WmiObject Win32_CDRomdrive

Get-WmiObject Win32_NetworkAdapter

Get-WmiObject Win32_USBController

Get-WmiObject Win32_Keyboard

Get-WmiObject Win32_PointingDevice

Get-WmiObject Win32_Printer

Get-WmiObject Win32_Printjob

 

Работа с Event Log

Get-EventLog –list – просмотр списка журналов

Get-EventLog Application – просмотр журнала

Get-EventLog Application -newest 30 – просмотр новых записей в журнале

 

Работа с учетными записями

Get-WmiObject Win32_Account - все записи

Get-WmiObject Win32_UserAccount - только пользователи

Get-WmiObject Win32_Group – только группы

 

Работа с ACL

 

Get-Acl hklm:/software/test – просмотр ACL для ветки реестра

Get-Acl c:\a – просмотр ACL для папки

Get-Acl c:\a\f1.txt – просмотр ACL для файла

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

 

Модель навигации

 

В WPS реализована универсальная модель навигации по различным объектам по образцу навигации по диску. Например, чтобы перейти в реестр, надо выполнить такую команду:

 cd hklm:\

Дальше можно воспользоваться командой dir для просмотра.

Наберите команду Get-PSdrive и вы получите список всех логических дисков WPS. Команда Get-PSProvider покажет всех установленных провайдеров для логических дисков. WPS 1.0 содержит следующие диски:

  • Файловая система (A, B, C и т.д.)
  • реестр (HKCU, HKLM)
  • переменные среды (env)
  • хранилище сертификатов (cert)
  • функции PowerShell (function)
  • переменные PowerShell (variable)
  • псевдонимы PowerShell (alias)

 

Команды для навигации по дискам:

Get-ChildItem (псевдонимы dir, ls) - просмотр папки

Get-Content (type, cat)  - прочитать элемент

New-Item (ni) - создать элемент

Get-Location (pwd) - просмотр текущего местоположения

Set-Location (cd) - смена расположения

 

Работа с путями

Одна точка (.) означает текущий каталог, две точки (..) – родительский.

Команда test-path проверяет существование пути.

Команда resolve-path работает с символами заместителями в адресе и выводит все подходящие пути, например:

Resolve-path c:\a* - выведет все каталоги, начинающиеся с буквы a.

 

Можно задать новый диск, для какого-нибудь сложного пути, чтобы легче его вызывать. Например:

New-PSDrive -Name Mydocs -PSProvider FileSystem –Root "c:\Sample\Docs\"

И затем обращаться к нему так:

Dir mydocs:

Этот новый диск будет виден только в текущей сессии WPS , при этом он остается недоступен другим приложениям.

 

Консоль

Встроенная консоль небогата возможностями. Основные - клавиши Tab для автозавершения и F7 для вывода истории команд. Параметры окна консоли можно настроить в меню Свойства.

Режим работы консоли – командный или интерпретатора. Командный режим основной, в режим интерпретатора консоль переходит, когда мы вводим параметры команды по шагам, отвечая на выводимые приглашения.

 

В заключительной части цикла я приведу примеры применения WPS.

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*

 

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