Бесплатная русская книга о PowerShell

Лежит здесь: https://skydrive.live.com/?cid=d489fb91b2112580&id=D489FB91B2112580!212

Оглавление:

Первое впечатление о Windows PowerShell ………………………………………………………5
Расширенные возможности вывода: конвейеры ………………………………………………..7
Вводные упражнения с объектами Windows PowerShell ………………………………………..8
Работа с процессами ……………………………………………………………………………….8
Вывод в файлы формата TXT, CSV или XML ………………………………………………………9
Вывод в цвете ………………………………………………………………………………………10
Проверка условий с помощью командлета if ……………………………………………………11
Вывод в виде HTML …………………………………………………………………………………12
Работа с файлами …………………………………………………………………………………..15
Поиск информации об объектах с помощью Get-Member ……………………………………. 16
Удаление файлов …………………………………………………………………………………  18
Создание папок …………………………………………………………………………………….19
Если у вас есть время … ……………………………………………………………………………21
Windows PowerShell как машина обработки произвольных объектов ………………………. 23
Объекты WMI………………………………………………………………………………………. 23
Работа с объектами .NET и XML…………………………………………………………………. 25
Работа с COM-объектами ………………………………………………………………………… 26
Работа с журналами сообщений …………………………………………………………………29
Сценарии-решения к упражнениям в этой книге ………………………………………………30
Примеры к Windows PowerShell – от простых к сложным ……………………………………. 33
Теоретические принципы Windows PowerShell ……………………………………………….. 35
Windows PowerShell – краткое введение ……………………………………………………….. 35
Цели разработки Windows PowerShell ………………………………………………………….. 35
О тексте, разборе текста и объектах …………………………………………………………… 35
Новый язык сценариев …………………………………………………………………………… 36
Команды Windows и служебные программы ………………………………………………….. 37
Интерактивная среда …………………………………………………………………………….. 37
Поддержка сценариев …………………………………………………………………………… 37
CMD, WScript или PowerShell? Что выбрать? …………………………………………………… 37
Windows PowerShell 1.0 …………………………………………………………………………..38
Безопасность при использовании сценариев …………………………………………………..39

Какое количество одновременных подключений SMB поддерживает ОС Windows 2008?

http://social.technet.microsoft.com/Forums/ru-RU/ws2008r2ru/thread/eca2cb29-e6df-4066-8423-0b474bf7c3a8/

— Здравствуйте, уважаемы участники! Мне нужно определиться с выбором ОС, для организации доступа IP-видеокамер к расшаренной папке на сервере. В Windows 7 количество одновременных подключений к одной папке, ограничивается 20, мне требуется до 45. Подскажите какую ОС мне выбрать и потребуется ли брать дополнительную лицензию!

— На Сервере практическое ограничение находится в пределах десятков тысяч соединений. 45 уж точно можно. Но потребуется лицензировать каждое соединение (Windows CAL, Client Access License). Полагаю, версия Standard вполне подойдёт.

 

Инструкции по настройке цифрового телевидения DVB-C

http://www.latel.ru/support/support_dvb/tvdvbc

Подробные инструкции по настройке телевизоров от разных производителей, некоторые с картинками

Подробная таблица со сравнением редакций Windows Server 2008

http://www.andnet.ru/microsoft/library/document47107.html

Краткое описание, таблицы сравнения основных возможностей, лицензирования, расширенных возможностей  редакций Windows Server 2008 R2, ролей сервера, вариантов установки Server Core, каналов распространения, технических характеристик.

Что такое Wake on lan

http://ru.wikipedia.org/wiki/Wake-on-LAN

Wake-on-LAN (WOL; в переводе с англ.  — «пробуждение по [сигналу из] локальной сети») — технология, позволяющая удалённо включить компьютер посредством отправки через локальную сеть специальной последовательности байтов — пакета данных (так называемого ‘magic packet’ — «волшебного пакета», см. ниже). Этот пакет может быть вставлен в пакеты любых стандартных протоколов более высоких уровней, например, UDP или IPX.

Принцип работы

Управляемый компьютер находится в дежурном режиме (англ. stand-by) и выдаёт питание на сетевой адаптер[1]. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес, и ничего не отвечая на них. Если одним из пакетов окажется magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера.

В начале пакета идет так называемая цепочка синхронизации: 6 байт, равных 0xFF. Затем — MAC-адрес сетевой платы, повторённый 16 раз. То есть, если бы адрес платы выглядел как 01:02:03:04:05:06, то магический пакет оказался бы таким:

FFFFFFFFFFFF010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506

Что можно делать через get-wmiobject в powershell

http://www.xakep.ru/magazine/xa/091/040/5.asp

Naked Snake

Хакер, номер #091, стр. 091-040-5


Ты еще раз убедился, что скрипт написан полностью с использованием cmdlets. Этот код с вызовом функции Get-WmiObject я привел не просто так. WMI — это Windows Management Instrumentation, то есть программный интерфейс управления системой. С помощью WMI возможно управлять операционкой и получать информацию о системе. Например, ты легко можешь получить настройки БИОСа:

gwmi win32_BIOS

SMBIOSBIOSVersion : ASUS A7N8X2.0 ACPI BIOS Rev 10

Manufacturer : Phoenix Technologies, LTD

Name : Phoenix — AwardBIOS v6.00PG

SerialNumber : xxxxxxxxxxx

Version : Nvidia — 42302e31

Маленькое пояснение: gwmi — это короткий псевдоним все той же Get-WmiObject. Штука поистине уникальная: с ее помощью можно узнать о всех девайсах, присоединенных к твоему компу (принтеры, сканеры), сетевых настройках, легко управлять софтом, установленном на машине (так же как в меню «Установка и удаление программ») и многое другое. Смотри, как вывести свободное место на своих дисках:

get-wmiobject Win32_LogicalDisk | select deviceid,freespace,size

deviceid freespace size

——— ——— —-

A:

C: 6861377536 27135164416

D: 1317060608 18867748864

Для этого в качестве параметра для Get-WmiObject мы передали флаг Win32_LogicalDisk и таким образом получили полную статистику по дискам с нужными нам полями. Набери в консоли «Get-WmiObject –list» — и ты подивишься разнообразию объектов, о которых собрана информация. Но едва ли среди этого огромного списка найдешь то, что тебе действительно нужно. Но тут есть простой рецепт — набери в консоли:

get-WMIObject -list | where {$_ -match «что тебя интересует»}

Конструкция, указанная после пайпа (|), — это что-то вроде аналога grep в юниксе. То есть она фильтрует строки по содержимому, и после ввода этой команды ты получишь только те строки, в которых содержится интересующая тебя последовательность символов.

Необычные провайдеры

Перейдем к еще одной новаторской фиче — PowerShell. Ребята из Microsoft подумали и решили максимально упростить работу пользователя с различными структурами: файловой системой, реестром, множеством переменных. Для всех них определены несколько общих методов, позволяющих легко манипулировать данными. Вот пример. Допустим, мы выбрали в качестве структуры (в плоскости PowerShell — провайдера) файловую систему и совершенно обычным образом перемещаемся между папками и дисками с помощью команды cd. Зашли в диск C:\ и просмотрели содержимое с помощью ls. А теперь выберем в качестве структуры реестр. По большому счету, он очень схож с файловой системой: разделы или ветки — это папки, а ключи реестра – это файлы. Так почему бы не перемещаться по ним аналогичным образом? Провайдером по умолчанию, что логично, установлена файловая система (FileSystem). Чтобы сменить провайдера, необходимо использовать команду Set-Location. Список всех доступных вариантов выдаст команда Get-PSProvider:

Name Capabilities Drives

—- ———— ——

Alias ShouldProcess {Alias}

Environment ShouldProcess {Env}

FileSystem Filter, ShouldProcess {C, D, E, F..

Function ShouldProcess {Function}

Registry ShouldProcess {HKLM, HKCU}

Variable ShouldProcess {Variable}

Certificate ShouldProcess {cert}

Скажем, если ты хочешь изучить содержимое реестра, то должен переключиться на него с помощью команды Set-Location HKLM:\. Теперь просмотри список ветки HKLV с помощью ls. Вывод команды отображен на скрине — глянь туда. Теперь ты можешь творить с реестром, что хочешь. Его ветки теперь для тебя, как папки, и ты можешь бродить по ним через «cd». А значения ключей легко выводятся cat’ом. Это, кстати, одна из самых мощных и полезных фич PowerShell’a.

Это только начало приключений

Признаться, PowerShell настолько многообразный и функциональный, что едва ли я охватил даже тысячную часть всех его возможностей. Но я постарался показать самый сок и основной подход в реализации сценариев. Теперь — дело за тобой. Всевозможные HOWTO и подробная документация доступна в интернете, но пока только на английском языке. Но штуковина стоит того, чтобы с ней разобраться — за ней будущее.

Эти фишки помогут тебе в настройке автоматики

PowerShell предоставляет удобные средства по работе с системными службами. Следующая команда, к примеру, выводит список работающих служб:

get-service | where-object { $_.Status -eq «Running» }

Внимательно изучи ключи командлета set-service. С его помощью легко меняются любые параметры служб, например тип запуска:

set-service <имя_службы> -StartupType Manual

Новый шелл от Microsoft имеет в своем арсенале десятки служебных переменных, использованием которых не стоит пренебрегать. Например, переменная $LASTEXITCODE всегда содержит код завершения последней запущенной программы. Заюзать ее проще простого. Например, команда ping, в случае недоступности удаленного хоста, возвращает в качестве кода завершения единицу, а в случае получения ICMP-ответа (то есть удачного подключения) — ноль. Таким образом, написание простейшего скрипта для мониторинга работоспособности удаленного хоста сводится к одной-единственной конструкции if-else.

Удаленное администрирование

Народные умельцы уже написали клиент-серверный скрипт, позволяющий работать в PowerShell на расстоянии. Разработка доступна на сайте http://mshforfun.blogspot.com/2006/03/powershell-remoting-beta-and-future.html и весит аж 300 Кб. Сейчас расскажу, как его поставить. Выкачивай архив, распаковывай и запускай в PowerShell. Переходи в папку с сервером (PowerShellRemoting\server) и запускай инсталляционный скрипт: ./’install.ps1′. Не забудь одну важную вещь. В новом шелле есть такая фича, как execution policies, которая контролирует режимы запуска скриптов. По умолчанию ни один сценарий у тебя не запустится (это для твоей же безопасности сделали, наученные горьким опытом, Script Host). Чтобы активировать возможность запуска скриптов, необходимо выполнить команду Set-ExecutionPolicy RemoteSigned, устанавливающую разрешающий режим. Подробности по теме описаны в справке: Get-Help about_signing | more. Теперь вернемся к установке. После подтверждения установки, в системе обозначится новая служба PowerShellRemoting — ее необходимо запустить, а также настроить на автоматический запуск. Это делается через «Панель управление -> Администрирование -> Службы». По умолчанию шелл принимает подключения от администратора с локалхоста, а для того, чтобы разрешить доступ другим клиентам, необходимо исправить файл user.xml. Ну а дальше? Дальше надо аналогично установить клиентскую часть и радоваться жизни, подключаясь к удаленному компу: ./’Start-Remotehost.ps1′.