Exchange 2007 で メールボックスのサイズを確認する

by kusakari 1. 7月 2010 17:45

Exchangeのシェルを使って、メールボックスのサイズが大きいユーザーを取得してみたいと思います。

Get-MailboxStatistics コマンドでメールボックスに関する情報を取得できます。あとはパイプを繋いで、Select-Object から TotalItemSize を指定すれば確認できます。

 

■サンプル1
下記のコマンドの場合は、全てのメールボックスからサイズの大きいユーザー上位10人を表示させています。

Get-MailboxStatistics | sort TotalItemSize -Descending | select DisplayName, TotalItemSize -First 10 

 

■サンプル1 - 結果
2010630_204825_811

 

 

■サンプル2
これだけでも十分なんですが、サイズがByteで表示されているのが読みにくいので、単位変換をかけておきます。

Get-MailboxStatistics | sort TotalItemSize -Descending | select DisplayName, {"{0:#,##0} MB" -f $_.TotalItemSize.Value.ToMB()} -First 10 

 

■サンプル2 - 結果
2010630_205351_812
※select に対してスクリプトブロック(中括弧)を使うことが出来きます。その際、プロパティに対してメソッドの実行などが可能です。

PowerShell から Flickr の写真を検索

by kusakari 29. 5月 2010 15:26

前回に引き続き、Flickr.Net を使って Flickr 上の写真を検索してみます。

http://flickrnet.codeplex.com/
※今回はバージョン2.2です。

 

まずは、PowerShell から「Flickr.dll」を読み込みます。

[System.Reflection.Assembly]::LoadFile("C:\Temp\FlickrNet.dll"); 

 

 

APIKEYを渡して、FlickrNet.Flickrを作ります。

$fckr = New-Object FlickrNet.Flickr($apiKey); 

 

 

ココまでは前回と同じです。
今回はココから、PhotoSearchOptions を作り、この各プロパティに検索したい情報をセットします。

$searchOpt = New-Object FlickrNet.PhotoSearchOptions; 

 

 

例えば、写真についてるタグで検索したい場合は、下記のような感じになります。

$searchOpt.Tags = "タグ"; 

 

 

条件にあった写真は PhotosSearch に PhotoSearchOptions を入れることで取得出来ます。

$fckr.PhotosSearch($searchOpt) 

 

 

■サンプル
$userName で指定したユーザーが投稿し、タグが「ネコ」とついている写真のURLを出力します。

$apiKey = "<取得したAPIKEY>"
$dllPath = "C:\Temp\FlickrNet.dll"
$tagName = "ネコ"
$userName = "<ユーザー名>"

#DLL読み込み 
[void][System.Reflection.Assembly]::LoadFile($dllPath);

#検索内容作成 
$fckr = New-Object FlickrNet.Flickr($apiKey); 
$searchOpt = New-Object FlickrNet.PhotoSearchOptions; 
$searchOpt.UserId = $fckr.PeopleFindByUsername($userName).UserId; 
$searchOpt.Tags = $tagName;

$fckr.PhotosSearch($searchOpt).PhotoCollection | % { Write-Host $_.MediumUrl; } 

 

 

■ 結果
2010529_15136_781

 

 

 

IMG_100513_110439

PowerShell で Flickr の写真をダウンロードする

by kusakari 26. 5月 2010 23:51

今回の内容は先に明記しますが、実用的なものではありません。あくまで個人のメモ内容です。

下記 CodePlex にて公開されている Flickr API のライブラリを使って、PowerShell から Flickr に写真をアップロードしてみたいと思います。
http://flickrnet.codeplex.com/
※今回はバージョン2.2です。

 

 

API Key を取得していない場合は、だいたい下記のような流れになります。
1. yahoo.comで ID の作成。
2. Flickr Servicesにて申請し取得。
http://www.flickr.com/services/apps/create/apply

 

 

上記、CodePlexからダウンロードしたファイルを解凍して、”Release”フォルダにある「Flickr.dll」ファイルを適当な場所(今回はC:\Tempフォルダ )に保存しておきます。

 

PowerShell から 「Flickr.dll」 を読み込みます。

[System.Reflection.Assembly]::LoadFile("C:\Temp\FlickrNet.dll"); 

 

 

取得したAPIKEYを渡して、FlickrNet.Flickrを作ります。

New-Object FlickrNet.Flickr($apiKey); 

 

 

PhotosGetInfo で、URLに関するプロパティ、MediumUrlなどがありますので、このプロパティ情報をもとに、WebClientなどを使ってダウンロードします。

 

 

また、ダウンロードする写真のIDに関しては今回は、FlickrのサイトのURLで事前に確認しておきます。
※下図の場合は、写真のIDは「4626070597」になります。
2010524_20184

 

 

■サンプル
下記のサンプルは、Flickr上で保存されている写真を、C:\Temp フォルダに test.jpg という名前で保存します。

$apiKey = "<取得したAPIKEY>" 
$photoId = "写真ID"
$dllPath = "C:\Temp\FlickrNet.dll" 
$savePath = "C:\Temp\test.jpg"

#DLL読み込み 
[void][System.Reflection.Assembly]::LoadFile($dllPath);

#写真情報取得 
$fckr = New-Object FlickrNet.Flickr($apiKey); 
$photo = $fckr.PhotosGetInfo($photoId);

#画像ダウンロード 
$wc = New-Object Net.WebClient 
$wc.Credentials = [System.Net.CredentialCache]::DefaultCredentials 
$wc.DownloadFile($photo.MediumUrl, $savePath) 
$wc.Dispose(); 

PowerShell からサムネイル画像を作成

by kusakari 13. 5月 2010 17:20

PowerShell から サムネイル画像を作成してみたいと思います。

 

まず、下記のようにSystem.IO.FileクラスのOpenReadで、FileStreamを作成します。

$fileStream = [System.IO.File]::OpenRead("c:\temp\0001.jpg"); 

 

次に、System.Drawing.Imageクラスの、FromStreamでImageを作成します。

$image = [System.Drawing.Image]::FromStream($fileStream, $false, $false); 

 

そして、ImageのGetThumbnailImageに、拡大縮小したいサイズなどを渡して、サムネイルを作成します。

$image.GetThumbnailImage(100, 100, $null, [System.IntPtr]::Zero); 

 

 

■サンプル
c:\temp\0001.jpgファイルを縦横それぞれ100ピクセルに縮小して、ファイル名の頭に「thumb_」をつけ同じフォルダに保存しています。

 

$picturePath = "c:\temp\0001.jpg";
$width = 100;
$height = 100;

$stream = [System.IO.File]::OpenRead($picturePath);
$img = [System.Drawing.Image]::FromStream($stream, $false, $false);
$thumb = $img.GetThumbnailImage($width, $height, $null, [System.IntPtr]::Zero);

$saveThumbPath = [System.String]::Format("{0}\\thumb_{1}", [System.IO.Path]::GetDirectoryName($picturePath), [System.IO.Path]::GetFileName($picturePath));
$thumb.Save($saveThumbPath, [System.Drawing.Imaging.ImageFormat]::Jpeg);

$thumb.Dispose();
$img.Dispose();
$stream.Close();
$stream.Dispose();

PowerShell から Bits でファイルのダウンロード

by kusakari 3. 4月 2010 13:39

前回、PowerShellからBITSを使ってファイルをアップロードしました。
今回は、PowerShellからBITS転送でファイルのダウンロードを行ってみたいと思います。

 

ダウンロードするファイルは、TechDays2010の、セッションビデオをダウンロードしてみたいと思います。

 

まずは、試しに1セッションのビデオをダウンロードしてみたいと思います。
※ココでは、URL先のWMVファイルを「E:\temp\techdays2010」に保存しています。

Import-Module BitsTransfer

$url = "http://download.microsoft.com/download/1/9/0/19084DB9-5226-47BA-918F-69689B445FAF/T1-201.wmv;"
$dest = "E:\temp\techdays2010\"

Start-BitsTransfer -Source $url -Destination $dest

 

で、実行すると下図のような感じで転送が始まります。 
201043_123736_744

 

 

ということで、ボタンをぽちぽち押して同じ作業をする気もないので、セッションビデオをBitsを使って一気にダウンロードしてみたいと思います。
ダウンロードするURLの取得部分に関しては、以下のURLに記載されているHTTPアクセス部分と正規表現、そのまま引用させて頂いています。
http://blogs.technet.com/stanabe/archive/2009/12/03/how-to-extract-link-urls-on-web-page.aspx



■サンプル

Import-Module BitsTransfer

$url = "http://www.microsoft.com/japan/events/techdays/2010/session/download.aspx"
$dest = "E:\temp\techdays2010\"

$w = New-Object System.Net.WebClient
$enc = [System.Text.Encoding]::GetEncoding("UTF-8")
$h = $enc.GetString($w.DownloadData($url))

$regex = "<\s*a\s*[^>]*?href\s*=\s*[`"']*([^`"'>]+)[^>]*?>"
$m = $h | Select-String -Pattern $regex -AllMatches

$m.Matches | %{ $_.Groups[1].Value } | Select-String "wmv" | %{ Start-BitsTransfer -Source $_ -Destination $dest }

Calendar

<<  7月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

View posts in large calendar

RecentComments

Comment RSS