イベントで実施中の PowerShell デモ簡単解説 ~ AD, Exchange, SharePoint の管理の自動化 ~

Dynamic Data Center Toolkit for Enterprise をお待ちの皆様、すいません<(_ _)>

もう少しです。

で、私も皆さんと同じ気持ちを持ちつつ、相変わらずいろんなところでイベントに登壇させていただいています。

また、幸か不幸か、とても忙しい時に新しいツールが出てきてくれないということで、先日の Tech Days、そして明日から始まる Virtualization Summit では、PowerShell および Opalis を中心としたデモをしております。

難しいデモはしていませんが、これはこれで面白い! はずです。

ただ、デモの詳細については配布しているスライドにも入れておらず、このままだともったいないので、ブログで共有しておこうと思います。

【全体のイメージ】

PowerShell_Demo

【自動処理の流れ】

  1. PowerShell スクリプトファイルを右クリックし、実行  (内容は後で出てきます)
  2. Exchange Server 2010 へセッションを確立し
  3. CSVファイルからデータを読み取り
  4. ファイルから読み込んだパスワード情報を処理し
  5. 3と4のデータを利用して Active Directory にユーザーを作成しつつ
  6. Exchange Server 2010 へメールボックスも作ります
    ・・・そのままSharePointの処理へ進む・・・
  7. SharePoint Server 2010 の PowerShell スナップインを組み込み
  8. SharePoint 上に、(営業さんがノウハウを共有するための)ブログサイトを立ち上げる
    ※その際、4の手順で自動作成したユーザーを代理の管理者として登録する

【スクリプトファイル DEMO.ps1 の中身】

## Exchange Server 2010 へのセッション確立

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ex2010.contoso.com/PowerShell/ -Authentication Kerberos Import-PSSession $Session

## CSVファイルからのデータインポート

$data = import-csv c:\demoscripts\UserList.csv

## パスワード情報のセキュア処理

function New-SecureString([string] $plainText) {    $secureString = new-object System.Security.SecureString

   foreach($char in $plainText.ToCharArray())    {       $secureString.AppendChar($char)    }

   $secureString }

foreach ($i in $data) {

$ss = new-securestring $i.password $upn = $i.alias + "@" + $i.fqdn

## メールボックス作成処理

New-Mailbox -Name $i.name -Alias $i.alias -OrganizationalUnit $i.ou -UserPrincipalName $upn -SamAccountName $i.alias -FirstName $i.FirstName -LastName $i.LastName -Password $ss -ResetPasswordOnNextLogon $false }

## SharePoint Server 2010 用スナップインの登録

Add-PSSnapin -name Microsoft.SharePoint.PowerShell

## SharePoint への新しいサイト作成

New-SPSite https://OpalisR2/Sites/Eigyo -Template "BLOG#0" -OwnerAlias contoso\administrator -SecondaryOwnerAlias contoso\takazoe -Name "営業ブログサイト" -Description "TESTです"

※ 青字の部分は、その都度変更してください。

また、UserList.csv ファイルの中はこんな感じです。

Name,Alias,FirstName,LastName,Password,FQDN,OU 高添 修,takazoe,修,高添,P@ssw0rd,contoso.com,TechDaysDEMO 山田 太郎,yamada,太郎,山田,P@ssw0rd,contoso.com,TechDaysDEMO

※ 青字の部分は、その都度変更してください。

PowerShellで仮想マシンを作るというデモは SCVMMのセミナーで何度もやってきたので、最近はレイヤーを上げて、情報システム系インフラの管理を

PowerShellでやるというデモをするようにしています。

そして、上記スクリプトを見ていただければわかりますが、同じ PowerShell でも、Exchange はセッションを張りに行って処理し、SharePoint は Snapin を追加して処理するという違いも見られます。
(同じ方法でできるのかもしれませんが、今のところ、これで上手く行っております)

ということで、明日もうまく動くことを祈りつつ。。。

夜中の1時半過ぎ、私のリハーサルは終わりました。

それでは、明日の東京、もしくは来週の名古屋、大阪でお会いしましょう!

マイクロソフト高添