Архив за ноября 2014
[PowerShell] Данные из XML файла
Есть XML файл с данными сотрудников компании следующей структуры:
Необходимо из некого выгружать данные с помощью PowerShell. Скрипт достаточно простой получился:
# Пробелы в квадратных скобках нужно убрать [ xml ]$xmlfile = Get-Content "D:\xml\test.xml" foreach($xmluser in $xmlfile.domainusers.user) { Write-Host $xmluser.ФИО Write-Host $xmluser.Телефон }
В примере скрипт выводит данные из двух тэгов – ФИО и телефон.
VPN клиент на TP-Link TL-MR3020 с прошивкой OpenWRT
Я уже писал про 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 серверу.
Импорт данных из XML файла в список SharePoint с помощью PowerShell
Появилась задача загрузить данные из файла XML в список SharePoint 2010. XML имеет следующую структуру:
В 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, а еще раз их туда запишет, если его повторно запустить. Т.е. в списке будет две Ивановой, и две Соколовой.
Как узнать версию SharePoint
Все время забываю, где можно посмотреть версию SharePoint. Так что это напоминалка для себя.
1. Версию SharePoint можно посмотреть в Центре администрирования –> Параметры системы –> Управление серверами в этой ферме.
2. С помощью PowerShell:
Get-SPFarm | Select BuildVersion
Командлет доступен только через Командную консоль 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
Как сохранить драйвера перед переустановкой Windows
Попал ко мне в руки старых лаптоп (ноутбук) Sony VAIO PCG-5J3P с красной крышкой. Внутри Intel Core 2 Duo 2.0GHz, 1 GB RAM, HDD 200 GB. Он года выпуска вроде 2007. Лицензионная наклейка на нем Windows Vista, но по файкту стоит WIndows XP. Работает вполне бодро. Его планируется задействовать для одной простой задачи, с которой он справится на отлично. Но до этого его нужно подготовить, а точнее почистить от пыли и переустановить Windows. Перед форматированием жесткого диска задался вопросом, а как же у него с драйверами? К моему удивлению, на сайте SONY не было упоминания об этой модели ноутбука вообще! Даже гугл выдавал несколько ссылкок на форумы, где люди ищут для него драйвера. Первый раз с таким сталкиваюсь, вродне, лаптоп не похож на подделку китайскую, сделан хорошо. Может компании Сони стало стыдно за эту можель, они решили о ней забыть и удалили со своего сайта все упоминания о ней? Похоже на бред, конечно.
[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.
Полезные ссылки по этой теме: