Блог did5.ru

Про АйТи и около айтишные темы

Рубрика: IT

[PowerShell] Обновление данных учетных записей в ActiveDirectory

Комментариев нет

Есть XML файл с актуальными данными сотрудников, из которого нужно обновить некоторые данные у учетных записей в ActiveDirectory (далее – AD). Уникальным индификатором является GUID (Как получить GUID и objectGUID из ActiveDirectory), которые уже выгружены из AD. Как прочитать данные из XML файла с помощью PowerShell я уже писал, поэтому здесь опишу часть скрипта, которая непосредственно вносит изменения в AD. Для работы с AD использую командлеты Quest Powershell.

XML файл имеет следующую структуру:

powershell set qaduser 1 thumb [PowerShell] Обновление данных учетных записей в ActiveDirectory

Последовательно считываем все учетки, берем GUID и остальные данные. В AD изменения вносятся следющей командой:

Set-QADUser $xmluser.GUID -Title $xmluser.title -Description $xmluser.title -Department $xmluser.department.Trim() -Notes $xmluser.info | Out-Null

Казалось бы вопрос решен, но в AD не есть не только пользователи, но и контакты. А командлет Set-QADUser работает только с учетными записями. Если необходимо взаимодействовать с учетными записями и контактами, как в моем случае, то используем командлет Set-QADObject:

Set-QADObject $xmluser.GUID -ObjectAttributes @{title=$xmluser.title;description=$xmluser.title;department=$xmluser.department.Trim();info=$xmluser.info} | Out-Null

Trim () – удаляет пробелы в строке.

Полное описание командлетов Set-QADObject и Get-QADObject с примерами.

Можно также отключать и включать учетные записи в AD с помощью командлета Set-QADObject:

Set-QADObject $xmluser.GUID -ObjectAttributes @{userAccountControl='512'} | Out-Null

512 – вкл, 514 – выкл.

Автор: did5

03 Дек 2014 в 11:41

Рубрика: PowerShell

Метки: ,

[PowerShell] Данные из XML файла

Один комментарий

Есть XML файл с данными сотрудников компании следующей структуры:

powershell read xml 1 thumb [PowerShell] Данные из XML файла

Необходимо из некого выгружать данные с помощью PowerShell. Скрипт достаточно простой получился:

# Пробелы в квадратных скобках нужно убрать
[ xml ]$xmlfile = Get-Content "D:\xml\test.xml"
foreach($xmluser in $xmlfile.domainusers.user) {
Write-Host $xmluser.ФИО
Write-Host $xmluser.Телефон
}

В примере скрипт выводит данные из двух тэгов – ФИО и телефон.

powershell read xml 2 thumb [PowerShell] Данные из XML файла

Автор: did5

25 Ноя 2014 в 11:51

Рубрика: PowerShell,Windows

Метки:

VPN клиент на TP-Link TL-MR3020 с прошивкой OpenWRT

3 комментария

Я уже писал про OpenWRT на TP-Link TL-MR3020:
1. Установка OpenWrt на роутер TP-Link TL-MR3020,
2. Как подключить флешку к TP-Link TL-MR3020,
3. 3G модем на роутере TP-Link TL-MR3020,
теперь опишу процесс настройки VPN клиента на роутере TP-Link TL-MR3020 для подключения к PPTP серверу.

Читать полностью »

Автор: did5

20 Ноя 2014 в 11:22

Рубрика: IT

Метки: , , ,

Импорт данных из XML файла в список SharePoint с помощью PowerShell

2 комментария

Появилась задача загрузить данные из файла XML в список SharePoint 2010. XML имеет следующую структуру:

xml to sharepoint list 1 thumb Импорт данных из XML файла в список SharePoint с помощью PowerShell

В SharePoint 2010 заранее создал список — Список пользователей, с соответствующими полями. Вот скрипт на PowerShell, который возьмет данные из файла XML и загурузит в список SharePoint:

if(!(Get-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction:SilentlyContinue))
{
Add-PSSnapin Microsoft.SharePoint.Powershell

#Set these two variables accordingly
$WebURL  = “http://portal.contoso.com/”
$ListName = "Список пользователей"
$XMLFilePath = "C:\scripts\xml\test.xml"

#Get the Web
$web = Get-SPWeb $WebURL
#Get the List
$ProjectList = $web.Lists[$ListName]

#import xml file
[*xml]$ProjectXmlFile = Get-Content $XMLFilePath

foreach ($XMLProject in $ProjectXmlFile.domainusers.user)
 {
$NewProject = $ProjectList.Items.Add()

$NewProject["ФИО"] = $XMLProject.ФИО
$NewProject["Отдел"] = $XMLProject.Отдел
$NewProject["Должность"] = $XMLProject.Должность
$NewProject["Комната"] = $XMLProject.Комната
$NewProject["Рабочий телефон"] = $XMLProject.Телефон
$NewProject["Адрес электронной почты"] = $XMLProject.Почта
$NewProject.Update()
Write-Host "Project $($XMLProject.ФИО) has been Added to External Projects list!"
 }

* в коде есть место — [*xml], так звездочку нужно удалить.

Это скрипт подойдет только для разовой загрузки данных, т.к. скрипт не заменяет данные в списке SharePoint, а еще раз их туда запишет, если его повторно запустить. Т.е. в списке будет две Ивановой, и две Соколовой.

Автор: did5

14 Ноя 2014 в 11:25

Рубрика: PowerShell,Sharepoint

Метки: ,

Как узнать версию SharePoint

Комментариев нет

Все время забываю, где можно посмотреть версию SharePoint. Так что это напоминалка для себя.

1. Версию SharePoint можно посмотреть в Центре администрирования –> Параметры системы –> Управление серверами в этой ферме.

sharepoint version center thumb Как узнать версию SharePoint

2. С помощью PowerShell:

Get-SPFarm | Select BuildVersion

sharepoint version powershell thumb Как узнать версию SharePoint

Командлет доступен только через Командную консоль SharePoint 2010, если через обычную консоль PowerShell, то необходимо добавить оснастку Microsoft.SharePoint.Powershell.

if(!(Get-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction:SilentlyContinue))
{
Add-PSSnapin Microsoft.SharePoint.Powershell
}
get-spfarm | select BuildVersion

3. Еще один вариант:

([Microsoft.SharePoint.Administration.SPFarm]::Local).buildversion

sharepoint version powershell 2 thumb Как узнать версию SharePoint

Автор: did5

14 Ноя 2014 в 10:34

Рубрика: Sharepoint

Метки: ,

Как сохранить драйвера перед переустановкой Windows

2 комментария

VGN CR21ZR thumb Как сохранить драйвера перед переустановкой WindowsПопал ко мне в руки старых лаптоп (ноутбук) Sony VAIO PCG-5J3P с красной крышкой. Внутри Intel Core 2 Duo 2.0GHz, 1 GB RAM, HDD 200 GB. Он года выпуска вроде 2007. Лицензионная наклейка на нем Windows Vista, но по файкту стоит WIndows XP. Работает вполне бодро. Его планируется задействовать для одной простой задачи, с которой он справится на отлично. Но до этого его нужно подготовить, а точнее почистить от пыли и переустановить Windows. Перед форматированием жесткого диска задался вопросом, а как же у него с драйверами? К моему удивлению, на сайте SONY не было упоминания об этой модели ноутбука вообще! Даже гугл выдавал несколько ссылкок на форумы, где люди ищут для него драйвера. Первый раз с таким сталкиваюсь, вродне, лаптоп не похож на подделку китайскую, сделан хорошо. Может компании Сони стало стыдно за эту можель, они решили о ней забыть и удалили со своего сайта все упоминания о ней? Похоже на бред, конечно.

Читать полностью »

Автор: did5

13 Ноя 2014 в 15:51

Рубрика: Windows

Метки: ,

[PowerShell] Как получить GUID и objectGUID из ActiveDirectory

Комментариев нет

При выгрузке свойства objectGUID учетных записей пользователей из ActiveDirectory при помощи Quest Powershell выяснилась одна особенность. objectGUID в результате выгрузки отличается от оригинала в AD, т.е. его потом нельзя использовать для поиска учеток в AD без преобразования.

Тут все дело в представлении. Для примера:

Get-QADUser USER | fl objectguid,guid

В результате получим два разных варианта:
objectGUID : 3F8C2B60E1E26C44B6D20FF8F6C3028F
Guid       : 602b8c3f-e2e1-446c-b6d2-0ff8f6c3028f

Guid совпадает с оригиналом из AD, а objectGUID его преобразованная версия в формат HexString. Чтобы не забивать себе голову обратным преобразованием, просто используем свойство Guid.

Для наглядного примера можно использовать эти команды:

$guid = (Get-QADUser USER).guid
Get-QADUser $guid

В результате должны отобразиться данные USER.

Полезные ссылки по этой теме:

Автор: did5

10 Ноя 2014 в 16:18

Рубрика: PowerShell,Windows

Метки:

3G модем на роутере TP-Link TL-MR3020

3 комментария

myWPEdit Image 1413819155 3G модем на роутере TP Link TL MR3020

Для моего проекта необходим доступ в интеренет, проводного доступа в тем краях нет, поэтому буду использовать 3G модем с сим-картой Мегафон. Итак, дано: роутер TP-Link TL-MR3020 с прошивкой OpenWrt, прошивка роутера загружается с флешки, которая подключена через USB-хаб с отдельным питанием, 3G модем HUAWEI E156G разлоченный и переведенный в режим только модем. Для настройки понадобится подключение к интернету. Поехали, подключаемся к роутеру по SSH…

Читать полностью »

Автор: did5

20 Окт 2014 в 23:36

Рубрика: IT

Метки: , , ,

Как подключить флешку к TP-Link TL-MR3020

3 комментария

После перепрошивки TL-MR3020 на OpenWrt сталкиваешься с первой проблемой – нехватка памяти. У MR3020 всего 4МБ памяти, а нам доступно меньше мегабайта. Есть решение – подключить флешку и перенести все файлы на нее, чтобы роутер загружался с флешки. Это позволит ставить дополнительные пакеты и хранить много разнообразных данных.

Я взял флешку объемом 2ГБ, для роутера ее хватит с запасом. У MR3020 всего один порт USB, я планирую подключить несколько устройств USB, поэтому буду использовать USB-хаб на 8 портов с отдельным блоком питания, а роутер запитаю прямо через этот хаб.

usb openwrt mr3020 8 Как подключить флешку к TP Link TL MR3020

Переносить файлы на флешку надо сразу после перепрощивки роутера на OpenWrt, т.к. места хватит только на установку необходимых пакетов для подключения флешки. Для установки пакетов понадобится выход в интернет. Приступим…

Читать полностью »

Автор: did5

20 Окт 2014 в 3:55

Рубрика: IT

Метки: , ,

Установка OpenWrt на роутер TP-Link TL-MR3020

4 комментария

myWPEdit Image 1413740170 Установка OpenWrt на роутер TP Link TL MR3020Маленький роутер TL-MR3020 от TP-Link идеальное устройство. Соотношение цена/качество на 5+. Когда меня просят посоветовать роутер для для дома, то я не задумываясь советую MR3020. У меня сейчас уже второй такой лежит и подумываю прикупить еще несколько.

На удивление стандартная прошивка у него практически не глючная, с лагами я не сталкивался. Так что для обычного пользователя после покупки стоит просто обновить стандартную прошивку до последней версии, настроить и забыть про него. Но если хочется от роутера большего, то стоит перепрошить его на OpenWrt и получить маленький компьютер.

Когда дело доходит до перепрошивки, то я сразу вспоминаю времена ASUS WL-500gP v.1, где процесс перепрошивки сопровождался танцами с бубном. Я тогда потратил не один вечер, чтобы получить роутер с прошивкой от Олега. И как радовался, когда все получилось.

Времена меняются, и теперь процесс перепрошивки занимает всего несколько минут.

Итак, приступим. У меня в наличии роутер TP-Link TL-MR3020 v.1. На сайте OpenWrt нашел ссылку на прошивку для MR-3020. Актуальная версия на данный момент Attitude Adjustment 12.09, прямая ссылка на файл прошивки – openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin. На этот этапе главное скачать нужную версию прошивки, существует sguashfs-factory и sguashfs-sysupgade. Первая для роутеров, которые еще с заводской прошивкой, а вторая для роутеров уже перепрошитых в OpenWrt.

Скачал файл прошивки, в веб-интерфейсе перешел в раздел Системные инструменты, выбрал скаченный файл и нажал кнопку Обновить.

myWPEdit Image 1413737665 Установка OpenWrt на роутер TP Link TL MR3020

На перепрошивку ушло пару минут. Автоматически в новую админку мы не попадем, потому что у роутера сменился ip адрес с 192.168.0.254 на 192.168.1.1. Поменял ip адрес компа на 192.168.1.2 и для поверки запустил ping 192.168.1.1 – отвечает. Теперь в браузере вбиваю новый адрес и появляется новая веб-морда прошивки OpenWrt.

myWPEdit Image 1413741548 Установка OpenWrt на роутер TP Link TL MR3020

Первым же делом нужно задать пароль для root'а. В веб-интерфейсе в верхнем левом углу есть предупреждение и ссылка на страницу смены пароля рута.

Автор: did5

19 Окт 2014 в 22:15

Рубрика: IT

Метки: , ,