Comments 21
Конечно, можно вынести в отдельные функции присвоения, разранжировать их по типам, добавить обработку исключений, писать более подробный, табулированый лог, например, и прочее, и прочее. Все мы любим совершенный код, при этом понимая, что мы в этом мире несовершенны.
К вашему стилю программирования никаких претензий.
Просто мне пару раз приходилось писать на ps небольшие скрипты и каждый раз для меня это было пыткой, начиная чтением документации и заканчивая отладкой. :)
Есть штука, она идет в комплекте с виндами, но, кажется, со вторым повершеллом только, называется Powershell ISE, гигантскую программу отладить там проблематично, нот вот свой скриптец я отлаживал именно там.
Я пробовал эту штуку, да, а еще через нее работает навеска для отладки в Visual Studio, но что-то мне там не понравилось, уж не помню что, то ли громоздкость, то ли что-то еще.
Впрочем, может к третьей версии все изменилось, спасибо, попробую еще разок.
О! Сам уже некоторое время ношусь с идеей синхронизации с 1С, но че-то все никак, а тут прям то, что надо :) спасибо.

Кстати, техническая реализация — это конечно хорошо, но вот есть нюанс… у нас, к примеру, частенько пользун приступает к работе, в том числе и в сети, еще до официального трудоустройства (знаю, что не хорошо, но что поделать) и, соответственно, все равно придется изначально заполнять все поля руками, т.к. на этом много что завязано. А вообще есть, конечно, простор для маневров. Еще раз спасибо )
Тут можно как поступить, можно создать шаблон и потом создавать пользователя на основе шаблона копированием, можно скриптец сделать с другим источником (работая неофициально, деньги-то он получает? ну значит должен быть источник), можно вообще забабахать отдельный сценарий для создания именно такого пользователя, но оно того стоит, если это ежедневная работа, если еженедельная — можно обойтись ADUC'ом.
Деньги то конечно получает :) на самом деле задержка в появлении пользователя в 1Ске не больше недели.
Кстати, забыл добавить. Заинтересовала вкладочка Employee, расскажите как это можно сделать?
Да, я думаю, сделаю из этого отдельный топик, но уже не в powershell-тематике, приложу готовую вкладку, расскажу, как создавать самому.
Спасибо, очень позновательно. Тоже такие идеи витают, но пока только обстрактно. Нужно будет попробовать.
Заодно не могли бы подсказать вектор для чтения 1с (8.2) из. NET
Я думаю, можно попробовать ковырнуть серез СОМ, они утверждают, что можно использовать СОМ-соединение, а как в PS создавать СОМ, мы знаем:
new-object -comObject
надо попробовать.
Остается сделать отключение сотрудников помеченных как уволенные
Для этого надо атрибут userAccountControl заксорить с двойкой:
$oldval = $objDirectoryEntry.userAccountControl
$newval = $oldval -bxor 2
$objDirectoryEntry.userAccountControl = $newval

Можно в строчку, но так понятнее.
В российских реалиях аттрибут пользователя drink должен иметь тип boolean!
Приходилось писать похожий велосипед несколько лет назад, правда на c#, поскольку там удобно можно было вытягивать информацию с Оракла через ODP.NET и запихивать в AD (System.DirectoryServices && System.DirectoryServices.AccountManagement).

Максимальние значения атрибутов можно менять в схеме.



Но такие изменения некоторых атрибутов (в моем случае department) пришлись не очень-то по-нраву установленному Exchange.
Чертовски согласен! Не режешь — ругается, меняешь планку — вылезает боком. Я тоже после какого-то инцидента зарекся в схему лазить, посчитал, что атрибутов MS надизайнило столько, сколько мне в жизнь не заполнить, поэтому использую имеющиеся настройки.
Only those users with full accounts are able to leave comments. Log in, please.