2005-12-01から1ヶ月間の記事一覧
「System.Net.WebClient」はファイルのダウンロード/アップロードができます。 ファイルのダウンロード(ファイルを保存) ファイルの読み込み処理 - PowerShell Memoのサンプルと同様です。 ダウンロードしたファイルを保存する MSH C:\> $url="http://www.g…
ファイルを行単位で処理する 「get-contents」はファイル内容を取得するCmdletです。 「get-contents」をパイプ経由でforeachに渡すと、ファイル内容を行単位で処理できます。 テキストファイルに書かれたURLを読み込んでファイルをダウンロードする URLを書…
パラメータ群が複数ある場合の調べ方(2) - PowerShell Memoの続きです。 Cmdletのパラメータを調べる 今回は「new-object」の「Com」パラメータ群について調べてみましょう。 ParameterSetInfo(Com) MSH C:\> $((gcm new-object).ParameterSets)[1].Name …
Monadの管理者ガイドが近日発売 - PowerShell Memoで紹介した「Monadの管理者ガイド」。 注文したAmazonで「配送予定日: 2005/12/3 - 2005/12/5」となっているのですが、ステータスは未発送のままで、未だに届きません。 でも海外ではすでに発売されている…
パラメータ群が複数ある場合の調べ方(1) - PowerShell Memoの続きです。 Cmdletのパラメータを調べる 「new-object」は「Net」と「Com」という名前で区別されるパラメータ群を持っています。 ParameterSetInfo(Net) MSH C:\> $((gcm new-object).Paramete…
Cmdletのパラメータを調べる Cmdletは「System.Management.Automation.CmdletInfo」で定義されます。 MSH C:\> (get-command new-object).getType().fullname System.Management.Automation.CmdletInfo Cmdletのパラメータ群は「ParameterSetInfo」で定義さ…
別名(エイリアス)を取得する Cmdletのいくつかのパラメータは、別名(エイリアス)を持ちます。例えば、「ErrorAction」の別名は「ea」ですから、 以下の2つのスクリプトは同じ意味です。 remove-item "sample.txt" -ErrorAction SilentlyContinue remove-ite…
任意のオブジェクトを作成する(2) - PowerShell Memoの続きです。 今回は「MshScriptMethod」を利用してメソッドを追加するサンプルを紹介します。 メソッドの追加(MshScriptMethod) 以下のサンプルでは「name(MshNoteProperty)」を表示する「introduce(Msh…
Monadの次リリース ニュースグループでMonadの次リリースの話題がありました。 来年1月上旬を予定しているそうです。 http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?&lang=en&cr=us&guid=&sloc=en-us&dg=microsoft.public.wind…
任意のオブジェクトを作成する(1) - PowerShell Memoの続きです。「System.Management.Automation.MshObject」に任意のプロパティやメソッドを追加することで、任意のオブジェクトを作成することができます。 MshScriptPropertyは[ScriptBlock]としてプロパ…
「System.Management.Automation.MshObject」に任意のプロパティやメソッドを追加することで、任意のオブジェクトを作成することができます。 プロパティの追加(MshNoteProperty) 以下のサンプルでは「String」型と「int」型のプロパティを追加しています。 …
MSH Minesweeper GUI game 敬服しました。 MSH Minesweeper GUI game 素晴らしい。(^^;
難読化 Monadでソースコードを難読化するという記事です。 Proudly Serving My Corporate Masters: Obfuscated Monad Scriptここで紹介されているサンプル自体は確かに難読化されていますが、 難読化ソースを出力するツールは紹介されていません。 ・・・と…
MSHのScript Centerがオープン MicrosoftのWebにMSHのScript Centerが設置されました。 これから、MSHの関連情報を集約していく感じですね。 VBScriptのサンプルのMSH移植版サンプルも置いてあります。 感想 現時点では、WMIを利用したサンプル/記事ばかり…
ニュースグループで「連想配列のソート方法」を見つけたので紹介します。 連想配列のソート まず、3つの要素を含む連想配列を作成します。 MSH C:\> $hash = @{one = 1;two = 2; three=3}中身を確認してみます。 MSH C:\> $hash Key Value --- ----- two 2 …
読み込まれているアセンブリからクラス名を検索し、フルネームを取得するスクリプトを紹介します。 クラス名を検索するスクリプト find-class.msh param([String]$target) if ($target -eq ""){return} [AppDomain]::CurrentDomain.GetAssemblies() | foreac…
「Trap」構文を利用して例外処理を実装する場合、通常、Trap対象とする例外クラスの指定が必要です。*1 そのため、スクリプトでエラーが発生した時に、例外クラスの名前がすぐに分かると便利です。 発生した例外クラス名を調べる get-exception.msh param([i…
「Trap」による例外処理 例外処理を行うには「Trap」構文を利用します。Javaで言うと「Catch」です。 例外処理についてJavaと比べると、 「Java」は例外監視範囲を「try」で指定しますが、 「Monad」の場合はスクリプト全体が例外監視範囲になるようです。 …
NewsGroupで「PropertyGrid」を使ったサンプルを見つけました。 PropertyGridでオブジェクト解析をしよう! ObjectViewer.msh function ObjectViewer { # 初期処理 [void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") # フォ…
2005年8月末から本日記を書き始めましたが、昨日でようやく記事が100件を超えました。 過去の日記を見返してみる・・・ 見返すと、やはり色々と改善点がありますね。 うまくカテゴリ分けできていない MSHカテゴリを細分化しなければ・・・。 Cmdlet紹介記事…
MSHのデバッグ手法(4) - PowerShell Memoの続きです。 trace-expression 単一のコマンドラインに対してトレースソースを有効にするには以下の構文を利用します。 To a file trace-expression –name -Options All –Expression { } –file トレース情報をファ…
Windows "Monad" Shell Beta 2 Documentation Packに含まれる「TracingQuickStart.doc」には、 デバッグ系の情報がまとまっています。 trace-expression trace-expressionは引数として渡したスクリプトについて、 特定のトレースソースを有効にします。例え…
MSHのデバッグ手法(2) - PowerShell Memoの続きです。 エラー内容を分析する(2) 「System.Management.Automation.ErrorRecord」オブジェクトの 「InvocationInfo」プロパティ 「FullyQualifiedErrorId」プロパティ もエラー内容を把握するのに役に立ちます…
エラー内容を分析する エラー発生時のオブジェクトを格納する「$error」。 「$error」を調べることでエラー内容を分析することができます。 試しに、意図的に「start-service」でエラーを発生させてみます。 MSH C:\> start-service $servicename start-serv…
S2JavelinとArrowVision。 Seasar2を利用して開発したアプリケーションのデバッグを効率化するツールです。 S2RMI開発者であり先輩の村田さんのブログでも紹介されています。 S2JavelinとArrowVisionを利用すると、ソースコードに全く手を入れずにS2の動作を…
「start-transcript」はコンソール出力内容をファイルに出力するCmdletです。 コンソールの内容はリアルタイムにファイルに出力されます。 コンソール>ファイル出力の開始:「start-transcript」 このCmdletは使い甲斐がありそうです。 例えば「start-trans…
リリースは近い? "jaMSH" : Interactive Shell for Monad/MSH - PowerShell Memoで紹介したjaMSHの次バージョンの開発が進んでいるようです。 参照:jaMSH status update 現バージョンで必須コンポーネントであった「The GnuWin32 Readline port」は不要と…