AD Domains

Продолжая тему Active Directory и PowerShell, приведу несколько команд (точнее методов .Net), которые бывают полезны в скриптах.

Серьезный, «продакшн» скрипт, не должен требовать указывать ему имя домена, а использовать по умолчанию домен того компьютера на котором он запущен. А как его определить? Вызвать статический метод GetCurrentDomain() класса System.DirectoryServices.ActiveDirectory.Domain:

Читать далее…

Реклама
Опубликовано в Learn, PowerShell, Practice, Scripting, Tips. 1 Comment »

Set-AdProperty

Сегодня из общения с Пашей Дугаевым «узнал» что людям «иногда» бывает нужно задать из PowerShell атрибут какого нибудь объекта в Active Directory 🙂 . Процесс не сложный, но в PowerShell 1.0 не очень «красивый». Поэтому для удобного использования стоит завернуть его в такую вот функцию:

Читать далее…

CTP2 "Breaking Changes"

Те самые люди которые подарили нам PowerShell 🙂

А сейчас они заняты подготовкой следующей версии…

Читать далее…

Опубликовано в PowerShell, Scripting. Комментарии к записи CTP2 "Breaking Changes" отключены

Option Explicit

Скриптерам и программерам на Visual Basic наверняка знакома эта «ключевая фраза». Дело в том что по умолчанию, если использовать не объявленную заранее переменную, то ошибки не произойдет ни в Visual Basic ни в PowerShell. Просто вместо несуществующей переменной будет подставлено пустое значение. Обычно это является нормальным поведением, но иногда может привести и к логическим ошибкам. Ведь достаточно ошибится на одну букву в имени переменной, и логика скрипта может сильно изменится. Для таких случаев и был сделан Option Explit. При объявлении в начале скрипта этой директивы, при обращении к несуществующей переменной выдается ошибка. Аналог разумеется есть и в PowerShell — команда Set-PsDebug с ключем -Strict

Читать далее…

Опубликовано в Learn, PowerShell, Scripting, Tips. Комментарии к записи Option Explicit отключены

Try/Catch/Finally в PowerShell

PowerShell очень классный язык, но тем не менее очень молодой. И по этой причине в нём зачастую нет того чего хочется. Пока нет.

Но так как он всё же очень классный — то чего нет можно дописать 😉 Вот к примеру если кому то не хватает привычной конструкции Try/Catch/Finally то Adam Weigert её написал 🙂 За что ему большое спасибо 🙂 (и ajax76 спасибо что напомнил 🙂 )

Читать далее…

Опубликовано в Learn, PowerShell, Scripting, Tips. Комментарии к записи Try/Catch/Finally в PowerShell отключены

Не все $Errors одинаково критичны

В PowerShell ошибки делятся на 2 категории:

Terminating Errors — критичные для выполнения команды, ошибки синтаксиса, и т.п. При возникновении такой ошибки дальнейшее выполнение команды прерывается (по умолчанию), и если установлен trap, то выполняется определённый в нём скриптблок.

Non terminating Errors — ошибки которые можно и стерпеть 😉 Это ошибки несмотря на которые выполнение команды можно продолжить (и даже получить еще ошибок 😉 ). О них и поговорим сегодня.

Читать далее…

А поцеловать?

Немного отвлекусь пока от темы ошибок — поднадоело, а рассказать там еще есть о чем 🙂

Лучше напомню про несколько событий которые произойдут на этой неделе, в которых я так или иначе поучавствую 🙂

Сегодня, 16 апреля, состоится очередная встреча московского MCP клуба, в рамках всемирной волны «Heroes Happen Here». Будет вторая часть обзора основных возможностей Windows Server 2008, докладчик — Дмитрий Пугачев. Первая часть мне понравилась. Ну и затем конечно обсуждение. Я тоже гденить там потусуюсь 🙂

Завтра, 17 апреля, в 21-23 по Московскому времени, будет онлайн митинг организованный Пашей Нагаевым. Сам он правда сейчас находится на MVP саммите в США, но мы и без него найдем о чем поговорить 😉 В этот раз темой будет SQL сервер 2005/2008, о некоторых его возможностях (обеспечение отказоустойчивости — Log Shipping, Database Mirroring и разные виды репликации) нам расскажет (и покажет) Денис Балашов (MCDBA с большим опытом). И на вопросы попробует ответить 😉 Разумеется потом тоже обсуждение, в плане потрепаться на разные IT темы 🙂 Заходить на встречу по этой ссылке (должна заработать в 20:30 по Москве). При себе иметь клиент Live Meeting 2007 😉

Пятница, 18 апреля. Вебкаст Андрея Бешкова про Network Policy Server в структуре Network Access Protection. NAP это та возможность 2008 сервера, которую мне больше всего хочется внедрить в продакшне (после Hyper-V конечно 🙂 ). Так что набираюсь знаний 🙂 Кстати а еще Андрея можно будет попробовать подловить и допросить на разные темы на MCP клубе, сегодня 😉

Возникли проблемы с митингом, изменил ссылку — вот правильная — https://www.livemeeting.com/cc/mvp/join?id=MVP38625&role=attend&pw=5Qp3%3D%27r.t заходите 🙂

Опубликовано в Windows 2008. Комментарии к записи А поцеловать? отключены