PCだい「ちゅき」

気がつけば庶事手伝い

目次

Blog 利用状況

ニュース

・H24/01/02
 Microsoft MVPを受賞しました
・H23/11/18
 MCTの憂鬱さんと相互リンクを張っていただきました^^
・H23/09/10
 プログラミング生放送でスピーカーさせていただきました^^ ・H22/12/18
 わんくま同盟でスピーカしました^^
さて、来年はどんな年になるかな。予想が当たるといいなぁ。
・H22/07/17
 わんくま同盟でスピーカしました^^
技術系のセッションは久しぶり。VB! VB!
・H22/03/13
 Tech FieldersでLTのスピーカしました^^
・H21/12/12
 わんくま同盟でスピーカしました^^
最近はずっとLT担当だったので、ちょっと新鮮でした^^
・H20/11/18
 Tech Fielders セミナー 大阪の
 Lightning Talkで優勝しました^^
・H20/8/23
 わんくま同盟で2回目のスピーカしちゃいました
 WCFと戯れてみました^^
・H20/5/17
 わんくま同盟でスピーカしちゃいました^^
 ちゃんとスピーカー持参しましたよんw
・H20/2/22
 なめ猫の参加証もらいました^^
・H20/1/22
 テンプレートを変えてみました^^
・H19/7/23
 ACEプログラムで、ナップサックをもらった上、工具セットももらえることになりました^^
・H19/1/11
 1が並ぶ縁起の良い日に投稿開始!。今後ともお付き合いよろしくお願いします
・H18/10/29
 参加させていただきました^^
ド・初心者ですがどうぞよろしくお願いします。

↓うーん、仕事しろ^^;
Chukiの脳内メーター

Chukiの脳内メーター

書庫

日記カテゴリ

ギャラリ

コミュニティ

相互リンク

2012年5月7日

ちと訂正。DCからすべてのユーザー取得する

元ネタ:せっかくだから、PowerShellで書いてみた。全ユーザ一覧の取得方法

よくよく見ると、以前のリストだとコンピュータアカウントも混じることがあったようです。
さっくりコンピュータアカウントをLDAPのフィルタで外します^^;

$ADs = New-Object System.DirectoryServices.DirectorySearcher
$ADs.Filter = "(&(objectClass=user)(!(objectClass=computer)))"
$Users = $ADs.FindAll() | foreach {$_.GetDirectoryEntry()}

posted @ 22:03 | Feedback (0)

2012年4月27日

[WP7] あれ?ZuneからWP7のアプリ買えなくなった。

元ネタ:窓の杜 - 【NEWS】“Windows Phone Marketplace”に変更、「Zune Software」のアプリ購入機能が削除
http://www.forest.impress.co.jp/docs/news/20120426_529550.html

Zuneは、端末自体のアップデートや画像・動画の動機には使えるけれど、アプリの管理はここからするのではなくなるそう。
Webサイトで買っても、Zuneが使えないと結局メール経由で端末からインストールすることになるのですが、
端末自体が十分速いのでそんなにストレスはありません。
ただ、PCにさしっぱなしでインストールできなくなったことは、若干不便に感じます。

■従来

Windows Marketplaceでのアプリの検索と購入 | Windows Phone Marketplace
http://www.microsoft.com/windowsphone/ja-jp/howto/wp7/apps/find-and-buy-apps-in-marketplace.aspx
上記ページに載ってるZuneの画面

 

今起動したときの状態

マーケットプレースがビデオだけになってました。

posted @ 3:57 | Feedback (0)

2012年4月24日

今年のお誕生日プレゼントが決まった^^ 「Windows 8 Release Preview版が6月第1週に公開」

今までの呼称とだいぶ違うので何となくわかりにくいのですが、いよいよ製品一歩手前のバージョンが6月頭に登場!
わんくま同盟大阪勉強会の6月2日に間に合ってくれるといいなぁ。(6月9日のCommunity Open Dayには間に合ってるはず^^)
#第一週って、6月1,2日しかないですものね^^;

元ネタ:Windows 8の次期テスト版は6月第1週に公開 - ニュース:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20120424/393001/

posted @ 13:42 | Feedback (0)

2012年4月13日

IS12TでもWiFi 接続サービスが利用できるようになりました^^/

現在のところ、それなりに回線速度が出ているので、あまり不満は感じませんが、
動画はやっぱり滑らかに見たい。

ということで、やっとIS12TでもWiFi接続サービスが利用できるようになりました^^

さて、途中au IDを聞かれますが、これはIS12Tユーザーなら使っているであろう、
ezmailをGMAILで見ることのできるauoneのIDと同じものでした^^。
まだ作っていない方は是非。

「auポータル - au携帯とPCが一体化したポータルサイト」
http://auone.jp

auのメールアプリよりサクサクメールが見られます。
(ただ、携帯からのメールに返信すると全部件名が?????に化けますorz)

元ネタ:auスマートフォン IS12T | 利用方法 | au
http://au.kddi.com/wifi/au_wifi_spot/riyo/smartphone/is12t.html

posted @ 13:28 | Feedback (0)

2012年3月28日

【チラ裏】EMOBILE LTE の GL01P(Pocket WiFi)が届いた

そろそろD25HWが丸2年で満了するため、解約しようかなぁと思っていたら、GL01Pへの乗換キャンペーンがあったので入手してみた。

おうち(大阪市内)で10Mbps出てる^^。WiMAXが300kbps位だったので、いい意味で期待を裏切られました。

さて、FTTHに接続しているWiFiを計測したらなんと7Mbps。自宅のWiFiより速いでやんの

なんせ、WiFiルータはまだ11gの規格が固まるかどうかの時代のものですから……。
いちおう、54Mbpsでリンクはしているのですが、おそすぎ><

WiFiルータまでは60Mbps位出ていたので、WiFiルータのせいで間違いなさそう。
速攻AmazonでWiFiルータぽちってきましたとも・・・orz

posted @ 3:36 | Feedback (1)

2012年2月23日

うわ、コレほっすぃ 「プランニング ポーカー」

元ネタ:プランニングポーカー | 長沢智治のブログ

写真だと日本語に見える。

非売品だと!?。ほっすぃ、今すぐ送ってください^^;

#というか売ってくださいm(_ _)m

posted @ 12:09 | Feedback (2)

2012年1月23日

[WP7] 今更だけど、「不正なデジタル証明書により、なりすましが行われる」に対応^^

昨年11月に出たセキュリティのアドバイザリが本日(2012年1月23日)更新されて、Windows Mobile 6.x、Windows Phone 7 および Windows Phone 7.5向けのセキュリティー更新プログラムがリリースされたそうです。

「マイクロソフト セキュリティ アドバイザリ (2641690): 不正なデジタル証明書により、なりすましが行われる」
http://technet.microsoft.com/ja-jp/security/advisory/2641690

さて、私のIS12Tが更新されるのはいつのことやら……
こっちもまだ降ってこない><

「WindowsR Phone IS12T アップデート情報 2012年1月19日」
http://www.au.kddi.com/seihin/ichiran/smartphone/up_date/is12t/up_date_20120119.html

posted @ 14:23 | Feedback (8)

2012年1月2日

今年もよろしくお願いいたします^^/

旧年中は、いろいろな方にお世話になり誠にありがとうございました。

本年もどうぞよろしくお願いします。

 

先ほど、おめでとうございますTLを済ませた後、ダメもとで見てみたら、私のところにもMVP受賞に関するメールが。

これも皆様のおかげです。重ねてありがとうございましたm(_ _)m

#英語のメールかと思ったら、日本語なんですね^^;

posted @ 2:13 | Feedback (10)

2011年12月16日

PowerShellのCSVで遊んでみる。

PowerShell Advent Calendar 2011の第二回っす。

元ネタ:PowerShellでれっつログオン監査

システム間で連携を行うとき、いろいろな技術はありますが常々感じるのは、いまだに
「CSV最強伝説継続中!!」

CSVの良さは、とりあえずテキストファイルで読めるし大概のシステムで読める、ということだと思います。

しかし、開発者は置いておいて、保守管理の人に言わせれば「CSVなんて大っ嫌い」という方も多いと思います。
ともかく、CSVはデータの羅列を各自が勝手に判断するため、以下のような特徴があります

・並び順が重要
・各列がなんのデータが分かりにくい
・データ形式によってはうまく取り込めない

誰かが勝手にデータデータを追加してたり、列の形式を変更してしまったらもうお手上げです。
CSVファイル自身にも先頭をタイトル行として何のデータかを管理したりするのですが、コレの手入れとメンテナンスはとても面倒です。

そこで、PowerShellのオブジェクトが大活躍します!!!

昔のバッチ風に書いてみましょう

---PS-Test1.ps1

Write-Host ID,Name -Separator ","
Write-Host 1,なかさん -Separator ","
Write-Host 2,ちゅき -Separator ","

---

これをリダイレクトしてCSVを作れます……(なんも良くないじゃないか!!!)

では、オブジェクトを作ってみましょう

--PS-Test2.ps2

$objArray = New-Object System.Collections.ArrayList

$objUsers = New-Object PSObject | Select-Object ID,Name
$objUsers.ID = 1
$objUsers.Name = "なかさん"
[void]$objArray.Add($objUsers)

$objUsers = New-Object PSObject | Select-Object ID,Name
$objUsers.ID = 2
$objUsers.Name = "ちゅき"
[void]$objArray.Add($objUsers)

$objArray

---

>PS-Test2.ps1

ID Name                                                
-- ----                                                
1 なかさん                                                
2 ちゅき                    

----

で、これがどうしたいう話なのですが以下のように突っ込むと、そのままオブジェととして渡せて、しかもタイトル行のついたCSVをはいてくれるのですごい楽なんです。

CSVを作って中身を見てみる

そのまま、オブジェクトとして渡せたり出来る素晴らしさ!!!

_________________________
PS > $obj = .\PS-TEST2.ps1

_________________________
PS C:\Documents and Settings\manabe.COMTEST\デスクトップ> $obj | Export-Csv .\test.csv -Encoding UTF8

_________________________
PS C:\Documents and Settings\manabe.COMTEST\デスクトップ> Get-Content .\test.csv
#TYPE Selected.System.Management.Automation.PSCustomObject
"ID","Name"
"1","なかさん"
"2","ちゅき"

そして、このままCSVで列の名前を付けたままインポートを行うことができます。

CSVをインポートする

これはスゲー便利^^(なんったて、利用の時いちいち仕様書にらめっこしなくても、とりあえず読んでGet-Memberすれば何かわかる幸せ

_________________________
PS C:\Documents and Settings\manabe.COMTEST\デスクトップ> $objImportArray = Import-Csv -Path .\test.csv

_________________________
PS C:\Documents and Settings\manabe.COMTEST\デスクトップ> $objImportArray

ID                                                     Name                                                
--                                                     ----                                                
1                                                      なかさん                                                
2                                                      ちゅき                                                 

さて、これを一体何に使うのか…

で、これを一体何に使うかということですが、この前の監査ポイやつをこんな風にしておくと、後々楽だったりします

----PS-Test3.ps1

#保存用の配列
$objArray = New-Object System.Collections.ArrayList

#イベント取り込み
$objSecLog =Get-WinEvent -FilterXPath `
"Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] `
and (EventID='4624' or EventID='4634')] `
and EventData[(Data[@Name='LogonType']='2' or Data[@Name='LogonType']='10')]]"

#取り込んだだけループ
foreach($objEvent in $objSecLog ){

#保存したいデータを入れておくオブジェクト
$objEventItem = New-Object PSObject | Select-Object  LogTime,EventID,IpAddress,DomainName,UserName,Message

#各イベントで共通の値を代入
$objEventItem.LogTime = $objEvent.TimeCreated
$objEventItem.EventID = $objEvent.id

#そのまま取り込めないため、XMLでゴニョゴニョ
$objXML = [xml]$objEvent.ToXML()

switch($objEventItem.EventID){
"4624"{
$objEventItem.IpAddress = (([xml]$objXML).Event.EventData.Data | ?{$_.Name -eq 'IpAddress'}).get_innerXML()
$objEventItem.DomainName = (([xml]$objXML).Event.EventData.Data | ?{$_.Name -eq 'TargetDomainName'}).get_innerXML()
$objEventItem.UserName = (([xml]$objXML).Event.EventData.Data | ?{$_.Name -eq 'TargetUserName'}).get_innerXML()
$objEventItem.Message = "ログオン"
}
"4634"{
$objEventItem.IpAddress = ""
$objEventItem.DomainName = (([xml]$objXML).Event.EventData.Data | ?{$_.Name -eq 'TargetDomainName'}).get_innerXML()
$objEventItem.UserName = (([xml]$objXML).Event.EventData.Data | ?{$_.Name -eq 'TargetUserName'}).get_innerXML()
$objEventItem.Message = "ログオフ"
}
}#EndSwitch
$objArray.Add($objEventItem)
}#Next
$objArray

----

ともかく、タイトル行とデータがずれないのだけでもすごく助かります。ともかく、エクスポートしたものをインポートできるという安心感は保守や管理者の大きな味方になってくれるはずです。

posted @ 17:30 | Feedback (2)

2011年12月15日

楽しい楽しい Visual BasicのNothing

みんな大好きなVisual Basicのなかでも、愛して已まないのはやっぱり「Nothing」ですよね☆
もう、こんなカワイイじゃじゃ馬っ娘と暮らしたら、離れなれなくなります。

普段はあんまり遊んであげられなのですが、こんなホリデーシーズンにはNothingで遊んであげましょう。
そう、これはVisual Basic Advent Calendar 2011の一環です。
難しい話題はMVPの方にお任せして、またーり遊んでみましょう☆
(師走で死ぬほど忙しい、とかいうのはこの際目をつぶってくださいw)

では、Visual BasicでNothingとはどんなものでしょうか。MSDNで見るとずばり

「Nothing:任意のデータ型の既定値を表します。」

nothingの日本語訳は「何もない」のハズです。すでに訳が分かりませんね^^;

 

挑戦1、そのまま表示したら何がでるかな?

ということで、「Console.WriteLine(Nothing)」をやってみました。

もうね、コンパイラさんの頑張りに申し訳なさでいっぱいです

 

 

挑戦2、既定値なんだよね?

せっかく上記でいろんな型が出てきたので、あそんでみませう。

.NETでは、サフィックスをつけると型を明示できます。ということで遊んでみるなど。

まずは、数値。

既定値は0なので、以下で「True」が返ってくるのは想定内。
ちなみに、=を二つ並べなくったって、VBでは”=”一個だけだと比較です。(このせいで、λ式とかめんどっちいことにorz)

調子に乗って。もう、C系の人からぶんなぐられそうですw
VBerの皆さん。数学的にはこちらが正しい、と言い張りましょうw

 

次に文字列行ってみましょう

さて、このあたりから愛が加速していきます。
文字列型の既定値は空白文字なので以下の比較ができます。

とりあえず、上の2行を業務で書く人がいたらブっちょめすwcがはく
#ホントに居たらごめんなさいm(_ _)m

 

挑戦3、オブジェクトに使ってみよう

VB6のころのNothingは、ちゃんと何もなくしてくれました。
以下も、終了するとちゃんとExcel.exeお家に帰ってタスクマネージャーからいなくなります^^

今のVB.NETは……。単にオブジェクト変数に既定値を放り込むだけなんですね。


せっかく来てくれたのに、Excelくんは遥か彼方の亜空間でずっと待機><

Excel.exeがタスクマネージャに残ったままになります。
可哀そうですが、タスクマネージャから追い返えすなどorz

 

VB.NETではちゃんとお別れしましょう

お別れは、作った絆をちゃんとすべてReleaseComObjectで解放してお家へ帰らしてあげましょう

【ご参考】COM オブジェクトの参照カウントを解放する

ということで、ホリデーシーズンにピッタリの愛があふれるお話でした^^/

posted @ 23:36 | Feedback (16)