Новые курсы Microsoft в октябре

В октябре запланирован выход следующих курсов Microsoft:

  • 10231 - Designing a Microsoft® SharePoint® 2010 Infrastructure
  • 10337 - Updating Your Microsoft® SQL Server® 2008 BI Skills to SQL Server 2008 R2
  • 10262 - Developing Windows® Applications with Microsoft® Visual Studio® 2010
  • 10325 - Automating Administration with Windows PowerShell® 2.0
  • 10324 - Implementing and Managing Microsoft® Desktop Virtualization


Новые курсы SharePoint 2010 и Windows Server 2008 R2

В сентябре выходят новые курсы Microsoft по SharePoint и Windows Server 2008 R2:

  • 10276 Configuring and Managing Microsoft SharePoint 2010
  • 10373 Microsoft SharePoint 2010 for End user - Business Intelligence Features
  • 10374 Microsoft SharePoint 2010 for End user - Collaboration Features
  • 10376 Microsoft SharePoint 2010 for End user - Enterprise Search Features
  • 10174 Configuring and Administering Microsoft SharePoint 2010
  • 10232 Designing and Developing Microsoft SharePoint Server 2010 Applications
  • 10159 Updating Your Windows Server 2008 Technology Skills to Windows Server 2008 R2
  • 10325 Automating Administration with Windows PowerShell 2.0

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

Новый блог про 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.