понедельник, 20 октября 2008 г.

пятница, 10 октября 2008 г.

Неплохо замечено

Почти все наши неудачи являются следствием наших ошибочных представлений о том, что с нами происходит. Соответственно, более глубокое понимание человека, разумная оценка событий являются огромным шагом к счастью.
(Стендаль, Дневник (10 декабря 1801 года)

Система управления версиями Bazaar VCS

Собственно, что такое системы управления версиями можно прочитать у IBM. (Перевод статьи несколько корявенький, правда). Сайт самого Bazaar здесь.
Краткое описание команд (буду пополнять по мере "вьезжания" в тему):
  • Начало работы с проектом:
bzr init myproject
в текущей директории будет создана директория my project, которая будет корневой для проекта.
  • Добавление файлов в проект:
bzr add [.]
весь (ранее инициализированный с помощью bzr init) каталог будет рекурсивно (со вложенными каталогами добавлен в проект).
bzr add <файл>
будет добавлен только указанный файл.
Полезная опиция: --dry-run,в случаее ее указания, будет показано, что должно произойти, но ничего в проект добавлено не будет. (bzr add --dry-run .)
Если не требуется рекурсивное добавление, необходимо указать опцию --no-recurse.

  • Фиксация (commit):
Для фиксации текущего состояния (revision) файлов необходимо выполнить команду bzr commit -m "Ваш комментарий". Или bzr commit --file=Файл с комментарием.

  • Просмотр статуса проекта:
bzr status

  • Просмотр лога проекта:
bzr log

  • Просмотр изменений:
bzr diff -rA..N. Где A и N номера ревизий. Если опция опущена будут отображены изменения последней ревизии с текущим состоянием. Если указать bzr diff -rN будут отображены изменения с ревизией N.

  • Извлечение ревизий (checkout):
bzr checkout -r N [BRANCH_LOCATION] [TO_LOCATION]
Извлекает ревизию N из директории [BRANCH_LOCATION] в директорию [TO_LOCATION]


Вызов справки по командам: bzr help [комманда]
Отображене всех команд с кратким описанием: bzr help commands
Отображение разделов справки: bzr help topics
Отображение справки по конкретному разделу: bzr help

четверг, 18 сентября 2008 г.

PowerShell скрипт отображентия версий dll файлов

$start_path="c:\windows\"
function showdir {
param (
$path
)
$files=Get-ChildItem $path
foreach ($file in $files) {
if ($file.PSIsContainer) {
showdir -path $file.FullName
}
else {
if (($file.Extension -eq '.dll') -or ($file.Extension -eq '.exe')) {
$f=gwmi -Class CIM_DataFile -Filter "Name='$(add_slhs($file.FullName))'"
Write-Host $file.FullName,$f.Version
}
}
}
}
function add_slhs($src) {
$dst=""
for ($i=0;$i -lt $src.length;$i++) {
if ($src[$i] -ne "\") {
$dst=$dst+$src[$i]
}
else {
$dst=$dst+$src[$i]+"\"
}
}
return $dst
}


showdir -path $start_path

пятница, 15 августа 2008 г.

Powershell Foreach-Object и Continue

Столкнулся с таким вот:
Если в блоке -Process {} командлета встречается инструкция Continue - выполнение скрипта прекращается. Описано здесь.

вторник, 12 августа 2008 г.

среда, 6 августа 2008 г.

Powershell получение списка учетных записей локальных пользователей

Clear-Host #Очищаем окно вывода
$computer=$env:COMPUTERNAME #Получаем имя локального компьютера
Get-WmiObject -Class Win32_UserAccount -ComputerName $computer '
-Filter "LocalAccount='true'"

вторник, 5 августа 2008 г.

О смысле и цене жизни

Тот, кто имеет ЗАЧЕМ жить, может вынести любое КАК.
Ницше

понедельник, 4 августа 2008 г.

ITIL - Библиотека инфраструктуры информационных технологий

Собственно, что такое ITIL можно (для начала) прочитать здесь.

Коротко приведу тезисы, на мой взгляд важные для понимания и как следствие внедрения:

  • Рентабельность инвестиций в ИТ существенно зависит от построения наборов процессов, что это за процессы и как их правильно выстроить – описано в ITIL.
  • В контексте ITIL деятельность IT подразделения рассматривается как оказание другим подразделениям компании качественных и адекватных потребностям бизнеса услуг.
  • Создание атмосферы взаимопонимания между представителями бизнеса и руководителями IT служб.
  • Процессы ITIL поддерживают бизнес процессы предприятия, но не диктуют их.
  • Повышение качества услуг при уменьшении затрат, или поддержании затрат на необходимом уровне.
  • Распределение ответственности, а не создание организационной структуры.
  • Поддержка и взаимосвязь со стандартом ISO9000
  • Рекомендации ITIL масштабируемые, то есть не теряют актуальности с ростом бизнеса.
  • Не приводят к дополнительной бюрократии.
  • Основной упор на применение лучших практических методов.
  • Может использоваться в организациях, где уже сложились определенные методы управления услугами.
  • Подход, ориентированный на качество предоставления услуг.
  • Формирование критериев оценки эффективности и их наглядное представление.
  • Извлечение уроков из прошлого опыта.

Для оценки готовности организации к эффективной реализации процессов ITSM применяется «модель зрелости», разработанная в Институте инженерии программного обеспечения США. Согласно данной модели существует пять уровней зрелости:
  • Уровень 1. Начальный. На этом уровне в компании отсутствуют четкие и согласованные метрики качества и методы оценки того, что является важным, а что нет. Качество услуг и затраты на их предоставление невозможно прогнозировать; отсутствуют формализованные планы и стратегия развития. Руководство плохо представляет себе реальное положение дел в организации.
  • Уровень 2. Повторяемый. Руководство осознает необходимость ответственности за управление процессами и рост кадров и делает шаг к созданию базы для дальнейшего улучшения методов и принципов работы.
  • Уровень 3. Определенный. Предпринимаются усилия по выработке единого подхода к организации ресурсов, практик, подразделений, процессов, направленного на решение общих задач и достижение требуемых результатов.
  • Уровень 4. Управляемый. Данный уровень зрелости предполагает ответственность подразделений за управление процессами и методами работы и использование собственного опыта для дальнейшего повышения эффективности.
  • Уровень 5. Оптимизируемый. Организация стремится к постоянному усовершенствованию своих возможностей путем анализа достигнутых результатов на соответствие целям и задачам бизнеса. Новые передовые практики и технологии внедряются в тесном взаимодействии всех подразделений, сотрудников и руководства.

Обработка исключительных ситуаций в PowerShell

Оригинал статьи здесь.

Материал wikipedia об исключительных ситуациях при выполнении программ здесь

Поскольку PowerShell основана на концепции .Net, все возникающие и обрабатываемые исключения выполнения являются частью .Net. Если при выполнении метода .Net происходит ошибка, которая не может быть обработана внутри самого метода, то возникает исключительная ситуация, информация о которой передается в участок кода, откуда был вызван метод. В .Net для обработки исключительных ситуаций используется объект System.Exception.
Для обработки исключений в PowerShell используются инструкции Throw и Trap.
Инструкция Throw используется для "проталкивания" информации об исключении вызывающему методу. Причем в отличии от .Net, в PowerShell можно "проталкивать" не только исключения, но и результаты выполнения команд.
Например:
Throw (new-object IO.DirectoryNotFoundException) - создаст System.Exception "Попытка доступа к пути, отсутствующему на диске".
Throw (ls *.*) - Создаст исключительную ситуацию System.Exception со свойством Message, установленным в результат исполнения команды ls *.*

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