0xC подвигов админа ;)

Офигенный ролик про поднятие бранч-офиса в Бобруйске, с использованием новых технологий, который демонстрировался на «Герои среди нас» теперь могут посмотреть и те кому не повезло поприсутствовать на конференции вживую 🙂 — http://blogs.technet.com/launch/archive/2008/03/20/3016704.aspx или на рутубе.

0c-1

0c0

0c1

Смотреть обязательно! Это жесть! 😉

Update: Некоторые не попавшие в финальный ролик моменты можно посмотреть в блоге одного из актеров 😉

Опубликовано в Windows 2008. Комментарии к записи 0xC подвигов админа ;) отключены

Scripting Games: Sudden Death Challenge — Event 5

sd5

Решая эту задачку я совсем забыл про [wmiclass] и использовал вместо него system.management.managementClass…

 

SD5.ps1

# Объявляем хэш-таблицу. $h = @{} # Получаем список WMI объектов. Get-WmiObject -List | # отбираем только начинающиеся на win32_ и заодно проверяем не заполнена ли уже # хэш-таблица. Where-Object {$_.Name -like "win32_*" -and $h.count -ne 25}| # Для каждого отобранного объекта... ForEach-Object { # ... помещаем имя класса в переменную $Class. $Class=$_.name; # Создаем .net объект System.Management.ManagementClass для текущего класса... (New-Object system.management.managementClass($Class)).psbase.properties | # ...и отбираем из всех его свойств поле Name, которое передаем дальше по # конвейеру. ForEach-Object {$_.Name} }| # Для каждого полученного по конвейеру свойства... foreach { #... если оно начинается с нужных букв (^ - обозначает начало строки, а [a-y] # любой символ от a до y. Скобки в регулярном выражении помещают первый # символ слова в $Matches[1]). if ($_ -match "^([a-y])") { # Если в хэш-таблице еще нет указанной буквы... if (!$h[$matches[1]]) { # Помещаем текущее свойство в переменную $Prop $prop = $_ # Создаем новый объект со свойствами Letter, Property и Class, # который помещаем в хэш-таблицу под соответствующей буквой. $h[$matches[1]]=0|select @{n="Letter";e={$matches[1]}}, @{n="Property";e={$prop}}, @{n="Class";e={$class}} } # Пишем в заголовке текущий сколько уже нашли свойств и текущий класс. $host.ui.rawui.windowtitle = "$($h.count)/25 - $Class.$_" } } # Красиво выводим результаты. $h.values | Sort-Object letter | Format-Table -AutoSize

Обязательно посмотреть оба варианта MoW.

Опубликовано в Learn, PowerShell, Scripting, Scripting Games. 1 Comment »