Feeds:
Записи
Комментарии

Archive for Январь 2011

Сегодня в интернет магазинах можно найти большое количество книг по PowerShell. Основное количество книг написано на английском языке, но в последнее время в магазинах можно встретить и литературу на русском языке. В интернет магазинах  http://ozon.ru и http://books.ru ,можно приобрести, литературу  , как на русском ,так и на английском языке. Я бы не советовал переплачивать и покупать напрямую с http://amazon.com или http://ebay.com .

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

Книги, переведенные на русский язык:

Название Автор ISBN
Введение в Windows PowerShell Попов А. 978-5-9775-0283-2
Руководство по сценариям Windows PowerShell Эд Уилсон 978-5-9790-0096-1, 978-0-7356-2279-1
Windows PowerShell 2.0. Справочник администратора Уильям Р. Станек 978-5-7502-0396-3

Введение в Windows PowerShell, подробнее про книгу можно прочитать,  в блоге Василия Гусева —http://xaegr.wordpress.com/2008/10/10/%D0%BA%D0%BD%D0%B8%D0%B3%D0%B0-%D0%BE-powershell-%D0%BD%D0%B0-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%BC-%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5/ . Рекомендую к покупке.

Руководство по сценариям Windows PowerShell, хорошее руководство для администратирования  Windows, решение повседневных задач.  Более 300 сценариев отражают основные задачи, выполняемые сетевым администратором: управление безопасностью, настройка, развертывание, обслуживание, работа в сети и устранение проблем. В книге используется своеобразный стиль написания скриптов, больше похожих на VbScript. Рекомендую книгу к покупке , как новичкам, так и более опытным.

Windows PowerShell 2.0. Справочник администратора, хотя описание книги впечатляет , но на самом деле не большие вырезки из стандартной справки по PowerShell, причем с неадекватной ценой. Рекомендовать эту книгу не могу.

Книги  на английском языке:

Название Автор ISBN
PowerShell in Action
First Edition
Second Edition
Bruce G. Payette  

978-1932394900

9781935182139

Windows PowerShell Cookbook
First Edition
Second Edition
Lee Holmes  

978-0596528492

978-059680150-2

Windows PowerShell 2.0 Best Practices Ed Wilson 978-0735626461
Managing Active Directory with Windows PowerShell Jeffery Hicks 978-0977659791
Managing VMware Infrastructure with Windows PowerShell Hal Rottenberg 978-0982131404
PowerShell in Practice Richard Siddaway 978-1935182009
PowerShell for Microsoft SharePoint 2010 Administrators Niklas Goude and Mattias Karlsson 978-0071747974
Microsoft SQL Server 2008 Administration with Windows PowerShell Ananthakumar Muthusamy and Yan Pan 978-0470477281
Professional Windows PowerShell for Exchange Server 2007 Service Pack 1 Joezer Cookey-Gam Brendan Keane Jeffrey Rosen Jonathan Runyon Joel Stidley 978-0470226445
Professional Windows PowerShell Programming: Snapins, Cmdlets, Hosts and Providers Arul Kumaravel Jon White Michael Naixin Li Scott Happell , Guohui Xie Krishna C. Vutukuri 978-0470173930

PowerShell in Action, книга в самых подробных деталях описывает язык PowerShell. Если вы хотите понять , почему и как это работает, то обязательно прочтите эту книгу. Книгу должен прочитать каждый, кто только начинает свою работу с PowerShell или для углубления своих знаний. Скажу одно, книга должна быть у всех. Рекомендую к обязательной покупке.

Windows PowerShell Cookbook, еще одна прекрасная книга, которая полностью дополняет PowerShell in Action. В книге представлено большое количество всевозможных примеров. Так же дополняет теоретическую базу. Хорошо подходит в роли справочника. Рекомендую к обязательной покупке.

Windows PowerShell 2.0 Best Practices, продолжает серию —  “Руководство по сценариям Windows PowerShell”. В книге основной упор делается на планирование и тестирование скриптов. Отражен опыт и лучшие методики применения PowerShell , от профессионалов в этой области и имеющих звание MVP . Рекомендуется к  покупке.

Managing Active Directory with Windows PowerShell, хотите научиться автоматизировать Active Directory, обязательно начните с этой книги.

Managing VMware Infrastructure with Windows PowerShell, если вы используете в своей среде инфраструктуру Vmware, эта книга нужна и жизнь, покажется Вам легче.

PowerShell in Practice, книга позиционируется, как сборник решений практический задач для системного администратора. Приведено большое количество скриптов для работы с AD,DNS,SQL,Exchange,Hyper-V,WMI. От книги ,я ожидал большего. Рекомендовать к покупке не могу, но если есть возможность, приобретите, не расстроитесь.

PowerShell for Microsoft SharePoint 2010 Administrators, приводятся основные методики по администрированию и автоматизации SharePoint.

Microsoft SQL Server 2008 Administration with Windows PowerShell , кто хочет научиться,автоматизировать, управлять SQL Server – эта книга для Вас. Подойдет не только системному администратору, но администратору баз данный и разработчику.

Professional Windows PowerShell for Exchange Server 2007 Service Pack 1, книга адресована Exchange администраторам.

Professional Windows PowerShell Programming: Snapins, Cmdlets, Hosts and Providers, книга ориентирована на программистов, которые хотят расширить функционал PowerShell. Приводятся примеры разработки CmdLet,Snapins и т.д  на .Net платформе.

Бесплатные книги:

Название Автор Сайт

PowerShell Cookbook v2

 

Lee Holmes http://tinyurl.com/4qqt77d

http://tinyurl.com/4mnga8t

Mastering PowerShell Tobias Weltner http://tinyurl.com/kospj5
Windows PowerShell v1.0 TFM Don Jones, Jeffrey Hicks http://tinyurl.com/ycnftlr
The Administrator Crash Course: Windows PowerShell v2

 

Don Jones http://tinyurl.com/4uqzg2g
An Introduction to Microsoft PowerShell

 

Don Jones http://tinyurl.com/4b6plzr
Effective Windows PowerShell: Keith Hill http://tinyurl.com/b9nsya
Эффективное программирование в Windows PowerShell Keith Hill http://tinyurl.com/4jbxj6l
PowerShell course book Frank Koch http://tinyurl.com/c7veuv
Administrative tasks using Windows PowerShell Frank Koch http://tinyurl.com/4r52vnk
Administrator’s Guide to Windows PowerShell Remoting Tobias Weltner http://tinyurl.com/yka3mt8
Layman’s guide to PowerShell 2.0 remoting Ravikanth Chaganti http://tinyurl.com/4ee6244


Реклама

Read Full Post »

Powershell должен быть запущен с параметром -STA.

Для примера воспользуемся сайтом — Enter.UniCredit.В исходном коде мы видим набор frames.

<FRAMESET ID="FT" ROWS="0,0,*,0" onHelp="if(help_js) Top.Help(''); return false;" FRAMEBORDER="no" BORDER=0 framespacing="0">

		<FRAME SRC="../null_russian.htm" ID="FB" NAME="F_TOOLBAR" FRAMEBORDER="no" SCROLLING="No" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE framespacing="0">

		<FRAME SRC="../null_russian.htm" NAME="F_MAINW" MARGINWIDTH="0" MARGINHEIGHT="0" FRAMEBORDER="No" NORESIZE>

		<FRAME ID="FS" NAME="F_HLP" SRC="../check_for_browser.htm" FRAMESPACING="0" NORESIZE MARGINWIDTH="0" MARGINHEIGHT="0" FRAMEBORDER="no" SCROLLING="No" F="help_fr" T="3" IFC="1">

		<FRAME SRC="../null_russian.htm" ID="POST_FRAME" NAME="POST_FRAME" FRAMEBORDER="no" SCROLLING="No" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE framespacing="0">

</FRAMESET>

Фреймы в HTML позволяют авторам представлять документы в нескольких разделах, которые могут быть независимыми или вложенными окнами. Это обеспечивает дизайнерам способ оставлять некоторую информацию видимой, в то время как другая информация прокручивается или заменяется. Например, в одном окне в одном фрейме может отображаться статический баннер, во втором навигационное меню, а в третьем — сам документ, который можно прокручивать или переходить к другому с помощью навигации во втором фрейме.
Ни у одного frame,нет каких-либо полей для заполнения.Основное меню реализовано,с помощью frame — F_HLP.Который и скрывает форму(MForm) для заполнения.

<form>
		<input name="T" type="HIDDEN" value="RT_2Auth.CL" />

		<input name="IMode" type="HIDDEN" value="demo" />

		<input name="L" type="HIDDEN" value="russian" />

<table onkeyup="if(event.keyCode==13)fnOnEnter(w);">
<colgroup><col style="width: 100px;"></col>
<col style="width: 120px;"></col>
</colgroup>
<tbody>
<tr>
<td>КЛИЕНТ/ЛОГИН</td>
<td><input maxlength="10" name="A" value="demo" /></td>
</tr>
<tr>
<td>ПАРОЛЬ</td>
<td><input maxlength="10" name="B" type="password" value="demo" /></td>
</tr>
<tr>
<td><img id="LIM3" src="../img/index/img1.gif" alt="" /></td>
<td>
<div class="indexbtn" onclick="SD();">Войти!</div></td>
</tr>
<tr>
<td colspan="2"><a href="../help/russian/enterabout.html#pass" target="_blank">Забыли пароль?</a></td>
</tr>
</tbody>
</table>

</form>

Основная проблема, как добраться до этой формы.Для этого мы подменяем параметр src. Здесь мы и видим, куда перенаправляется frame.

PS > $form  | %{$_.contentwindow.location}

hostname    : demo.enter.unicredit.ru
port        :
pathname    : /v1/cgi/bsi.dll
search      : ?t=RT_2Auth.login_frame&L=RUSSIAN&colorstyle=
hash        :
constructor :

$ie.Document.getElementsByName("F_HLP") | foreach {$_.src = "../cgi/bsi.dll?T=RT_2Auth.login_frame&L=RUSSIAN&colorstyle"}

После этого нам будет доступна MForm и уже не составляет труда пройти авторизацию.

#Логин
$login = "demo"
#Пароль
$pass = "demo"
#Создаем объект типа InternetExplorer.Application
$ie = New-Object -ComObject InternetExplorer.Application
#Страница для авторизации
$loginpage = "http://demo.enter.unicredit.ru/v1/cgi/bsi.dll?T=RT_2Auth.BF"
#Переходим к странице авторизации
$ie.Navigate($loginpage)
#Ждем загрузку страницы
While ($ie.Busy) { Start-Sleep -Milliseconds 400 }
#Отображать IE,можно удалить
$ie.Visible = $true
#Заполняем поле логин
$form = $ie.Document.getElementsByName("F_HLP") | foreach {$_.src = "../cgi/bsi.dll?T=RT_2Auth.login_frame&L=RUSSIAN&colorstyle";$_.contentwindow}
Start-Sleep -Seconds 1
$form.document.forms.namedItem("MForm").item("A").value = $login
#Заполняем поле пароль
$form.document.forms.namedItem("MForm").item("B").value = $pass
#Нажимаем Войти
$form.document.getElementsByTagName("DIV") | where {$_.innerHTML -eq "Войти!"} | foreach {$_.click()}
Start-Sleep -Seconds 5
$form = $ie.Document.getElementsByName("F_TOOLBAR") | foreach {$_.contentwindow}
if ($form.document.getElementsByTagName("DIV") | ? {$_.outertext -match "Выход"})
{
	#Нажать Выйти из системы.
	$form.document.getElementsByTagName("DIV") | ? {$_.outertext -match "Выход"} | foreach {$_.click()}
	Start-Sleep -Seconds 2
	Write-Host -ForegroundColor Yellow "Success"
}
else { Write-Host -ForegroundColor Red "Fail" }
$ie.Quit()

Выполняем скрипт и получаем ответ Success или Fail.

Read Full Post »