Contents of this directory is archived and no longer updated.

Posts on this page:

Напоминаю ещё раз, по ряду причин всё самое интересное сейчас я публикую только на буржуйском бложеке: http://en-us.sysadmins.lv/default.aspx. Сейчас там, например, идёт замечательная серия про использование Certificate Enrollment API в PowerShell. А потом (если получится), доставлю немного интересного про OCSP.


Read more →

Сегодня первый и последний раз нарушаю негласное правило своего блога — не более одного поста в день. А дело в том, что я совсем забыл о том, что вчера этому блогу исполнялся ровно год. Мне кажется, что за этот год я донёс до своих читателей достаточно много актуальной и полезной информации и вам есть чему поучиться на этих материалах. Статистики как таковой я не веду, только руководствуюсь сведениями своего любимого Clustrmaps. И судя по его показаниям посещаемость блога выросла с 30-40 человек в день до 80-100, т.е. примерно в 2,5 раза, что не может не радовать :-), так что я двигаюсь явно в нужном направлении. Очень хочется надеяться, что это не первый день рождения моего бложика и он будет продолжать оставаться для меня кешем моего мозга. Вобщем,

С днём рождения, бложик!

:rock: :happy:

Загрыз меня сегодня один очень важный вопрос, как мне кажется, вселенского масштаба, а именно – шрифт оформления кода на страницах блога. И, как вы уже смогли заметить, что у меня весь код в блоге оформлен шрифтом Verdana, что является моветоном (Verdana – не моноширинный шрифт). В принципе, ни для кого не секрет, что любой код должен оформляться только моноширинными шрифтами. И я решил проверить, на сколько это будет хорошо выглядеть. Поэтому я предлагаю вам на обозрение по 10 строк произвольного кода раскрашенного в PowerGUI, но оформленного разными шрифтами:

  • Verdana (используется сейчас в блоге)
if ($name -ne $null) {
$shares = Get-WmiObject Win32_Share -filter "name = '$name'"
} Else {$shares = Get-WmiObject Win32_Share -filter 'type = 0'}
$Shareinfo = @()
# цикл извлечения сведений о каждой сетевой папке в переменную $ShareInfo
foreach ($share in $shares) { 
  $ShareSec = Get-WmiObject Win32_LogicalShareSecuritySetting  -filter "name='$($share.name)'" 
  if($shareSec) { 
    $sd = $sharesec.GetSecurityDescriptor()
    $ShareInfo += $SD.Descriptor.DACL | % {
      $_ | select @{e = {$share.name};n = 'Name'},
  • Consolas
if ($name -ne $null) {
$shares = Get-WmiObject Win32_Share -filter "name = '$name'"
} Else {$shares = Get-WmiObject Win32_Share -filter 'type = 0'}
$Shareinfo = @()
# цикл извлечения сведений о каждой сетевой папке в переменную $ShareInfo
foreach ($share in $shares) { 
  $ShareSec = Get-WmiObject Win32_LogicalShareSecuritySetting  -filter "name='$($share.name)'" 
  if($shareSec) { 
    $sd = $sharesec.GetSecurityDescriptor()
    $ShareInfo += $SD.Descriptor.DACL | % {
      $_ | select @{e = {$share.name};n = 'Name'},
  • Courier
if ($name -ne $null) {
$shares = Get-WmiObject Win32_Share -filter "name = '$name'"
} Else {$shares = Get-WmiObject Win32_Share -filter 'type = 0'}
$Shareinfo = @()
# цикл извлечения сведений о каждой сетевой папке в переменную $ShareInfo
foreach ($share in $shares) { 
  $ShareSec = Get-WmiObject Win32_LogicalShareSecuritySetting  -filter "name='$($share.name)'" 
  if($shareSec) { 
    $sd = $sharesec.GetSecurityDescriptor()
    $ShareInfo += $SD.Descriptor.DACL | % {
      $_ | select @{e = {$share.name};n = 'Name'},
  • Courier New (используется по умолчанию в PowerGUI)
if ($name -ne $null) {
$shares = Get-WmiObject Win32_Share -filter "name = '$name'"
} Else {$shares = Get-WmiObject Win32_Share -filter 'type = 0'}
$Shareinfo = @()
# цикл извлечения сведений о каждой сетевой папке в переменную $ShareInfo
foreach ($share in $shares) { 
  $ShareSec = Get-WmiObject Win32_LogicalShareSecuritySetting  -filter "name='$($share.name)'" 
  if($shareSec) { 
    $sd = $sharesec.GetSecurityDescriptor()
    $ShareInfo += $SD.Descriptor.DACL | % {
      $_ | select @{e = {$share.name};n = 'Name'},
  • Courier 10TL
if ($name -ne $null) {
$shares = Get-WmiObject Win32_Share -filter "name = '$name'"
} Else {$shares = Get-WmiObject Win32_Share -filter 'type = 0'}
$Shareinfo = @()
# цикл извлечения сведений о каждой сетевой папке в переменную $ShareInfo
foreach ($share in $shares) { 
  $ShareSec = Get-WmiObject Win32_LogicalShareSecuritySetting  -filter "name='$($share.name)'" 
  if($shareSec) { 
    $sd = $sharesec.GetSecurityDescriptor()
    $ShareInfo += $SD.Descriptor.DACL | % {
      $_ | select @{e = {$share.name};n = 'Name'},
  • Lucida Console (используется по умолчанию в PowerShell ISE)
if ($name -ne $null) {
$shares = Get-WmiObject Win32_Share -filter "name = '$name'"
} Else {$shares = Get-WmiObject Win32_Share -filter 'type = 0'}
$Shareinfo = @()
# цикл извлечения сведений о каждой сетевой папке в переменную $ShareInfo
foreach ($share in $shares) { 
  $ShareSec = Get-WmiObject Win32_LogicalShareSecuritySetting  -filter "name='$($share.name)'" 
  if($shareSec) { 
    $sd = $sharesec.GetSecurityDescriptor()
    $ShareInfo += $SD.Descriptor.DACL | % {
      $_ | select @{e = {$share.name};n = 'Name'},

И мне хотелось бы получить от вас ответ – какой из этих шрифтов является наиболее читабельным и удобным для вас? Очень большая просьба отписаться в каментах со своим ответом. Спасибо!

Сегодня наконец-то дошли руки до завершения странички с ссылками на актуальные и полезные ресурсы по PowerShell. Я не ставил задачу собрать все имеющиеся ссылки по PowerShell, а только наиболее актуальные, которые будут полезны как новичкам, так и не очень :) . В список ресурсов вошли книги, которые я уже просмотрел (некоторые и прочитал) и рекомендую для тех, кто хочет самостоятельно изучать PowerShell. Так же выложил ссылки на страницы загрузки PowerShell и полезные примочки для него и список ресурсов, где можно задать вопрос по PowerShell и где высока вероятность получить ответ на свой вопрос. Вобщем, это всё находится здесь:

>> Библиотека <<

Данная библиотека будет обновляться лишь по мере появлении чего-то ценного в мире PowerShell. И не забывайте про блоги специалистов по PowerShell в моём BlogRoll.

Следующим этапом думаю заняться инвентаризацией своих наработок и создать страницу с концептуальными скриптами (их хоть и совсем немного, но всё же), которые были мной написаны и могут быть полезны другим людям для автоматизации своих задач.

UPD 6.06.2009:

  • Добавлена книга Эффективное программирование в Windows PowerShell
  • Добавлена книга Administrative tasks using Windows PowerShell

UPD 18.07.2009

  • Добавлена книга Mastering PowerShell

В воскресение, 16.11.2008 планирую провести небольшие изменения в блоге, поэтому возможны кратковременные проблемы с отображением контента. Изменения коснутся интерфейса, в частности приведёно в порядок (во всяком случае я так надеюсь) отображения кода на веб-странице и, главное, в выдаче на RSS-ленту. Сейчас посмотрел ленту - поплохело от увиденного. Но завтра (уже сегодня) постараюсь всё поправить. Ну и CSS стили немного пофиксю.

 

Заранее извиняюсь за неудобства.