2005-11-01から1ヶ月間の記事一覧

オブジェクトの型を調べるコマンド

MSH

私は、Webでサンプルを見つける度に利用されているオブジェクトの型を調べる癖がついているのですが、(^^; 皆さんもオブジェクトの型を調べる機会は多くありませんか? 型を調べる(get-type) 型を調べる事はObjectの型を調べる - PowerShell Memoで紹介した…

.NET2.0(RTM)用の「Monad Beta2」(3)

MSH

内部定義エイリアス .NET2.0(RTM)用の「Monad Beta2」(2) - PowerShell Memoで書いた、内部定義エイリアスの一覧です。 MSH C:\> alias CommandType Name Definition ----------- ---- ---------- Alias ac add-content Alias clc clear-content Alias cli …

.NET2.0(RTM)用の「Monad Beta2」(2)

MSH

「set-alias」のエラー .NET2.0Beta2用「Monad Beta2」から.NET2.0(RTM)用の「Monad Beta2」にアップグレードすると、 MSH起動時に以下のような「set-alias」のエラーが多数発生します。 set-alias : The AllScope option cannot be removed from the alias …

入力されたキーを取得する

MSH

「System.Console」クラスの:「Readkey」メソッドを利用すると入力されたキーの取得が可能です。 「ReadKey」によるキーの取得 小文字「t」を入力した場合 MSH C:\> $key = [System.Console]::Readkey() tMSH C:\> $key.getType().FullName System.ConsoleKe…

「String.Format」に相当する「-F」オプション

MSH

MSHでは、.NETのFormat関数に相当する「-F」オプションが用意されています。 文字列のフォーマット変換:「String.Format」 .NET Frameworkの「String.Format」を利用すると文字列をフォーマット変換できます。 数値の3桁表示(「String.Format」) MSH C:\> …

Microsoft Developers Conference 2006

MSH

「MDC2006」・・・と呼べば良いのかな? 2006/02/02〜2006/02/03にパシフィコ横浜で「http://www.event-registration.jp/events/devcon06/default.htm」が開かれます。このカンファレンスの位置付けは まだ発売されていない次世代製品、技術にフォーカスした…

MonadからVB.NETのコードを実行(2)

MSH

MonadからVB.NETのコードを実行 - PowerShell Memoでは、 例えば、Beta2のMonadではSTAスレッドで実行が必要なオブジェクトは動作しませんが、 VBCodeProviderを利用してVB.NETのコードを書けば、実現できるわけです。 と書きましたが、その具体例を紹介しま…

MonadからVB.NETのコードを実行

MSH

VBCodeProviderを利用すると、VB.NETのコードをMonadから実行できます。 例えば、Beta2のMonadではSTAスレッドで実行が必要なオブジェクトは動作しませんが、 VBCodeProviderを利用してVB.NETのコードを書けば、実現できるわけです。 インコードコンパイルで…

.NET2.0(RTM)用の「Monad Beta2」

MSH

TechNet Magazine NOVEMBER・DECEMBER 2005 - PowerShell Memoで触れた「TechNet Magazine」でも書かれていますが、.NET2.0(RTM)用の「Monad Beta2」が公開されています。 .NET2.0Beta2用「Monad Beta2」からの変更点として、スクリプト実行ポリシーが変更に…

TechNet Magazine NOVEMBER・DECEMBER 2005

MSH

Monadのコラム TechNet MagazineのコラムでMonadが詳しく紹介されています。 Monad: The Future of Windows Scripting コラム作者(Thomas Lee)の「profile.msh」が以下からダウンロードできますが、 head、tail、touchを始め、便利な関数が記述されているた…

Monadの管理者ガイドが近日発売

MSH

Msh: an Administrator's Guide: An Administrator's Guide 来月上旬発売です。Monad: Introducing the Msh Command Shell and Language作者: Andy Oakley出版社/メーカー: Oreilly & Associates Inc発売日: 2005/12/01メディア: ペーパーバック クリック: 7…

$hostの謎

MSH

$hostは現在実行中のホスト情報を格納しています。 「$host」の型は何? MSH C:\> $host.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- False False InternalHost System.Management.Automation.Host.MshHost MSH C:\> $host.…

A Monad Video Game

MSH

インベーダーゲーム Precision Computingで、Monadで作成されたインベーダーゲームが紹介されています。 http://www.proudlyserving.com/archives/2005/09/aliensmsh_a_mon.html http://www.proudlyserving.com/aliens.html

文字色、背景色を設定する

MSH

「write-host」の文字色、背景色を設定する write-host [object] [-ForegroundColor foregroundColor] [-BackgroundColor backGroundColor] 「foregroundColor」「backGroundColor」で文字色、背景色を指定します。 設定可能な色は「ConsoleColor Enumeratio…

文字列操作(3)

MSH

一月以上ぶりに、文字列操作の基本構文。 文字列操作色々〜その3〜 文字列の右側を指定文字列で埋める MSH C:\> "[" + "365".PadRight(10, " ") + "]" [365 ] MSH C:\> "[" + "123345".PadRight(10, " ") + "]" [123345 ] 文字列の左側を指定文字列で埋める…

オブジェクトをHTMLに変換する(convert-html)

MSH

※「convert-html」はPowerShell 1.0では「ConvertTo-Html」という名前に変更されています。 「convert-html」:オブジェクトをHTMLに変換する 構文 convert-html [[-Property] object[]] [-InputObject MshObject] [-Body bodyText] [-Head headText] [-Titl…

文字列をIEに出力する(out-ie)

MSH

またまたPDC2005ネタです。 MonadとVBScript(IE)の連携デモ(mms://media.sitestream.com/microsoft_sitestream_com/open/PDC05/TLN/TLN303/0MM7.wmv)の中で、 「out-ie」というコマンドが利用されています。 標準では用意されていないCmdletなので、なんだろ…

Monad + VBScript(IE)のサンプル

MSH

Monad + VBScript(IE) - PowerShell Memoで紹介した「MonadとVBScript(IE)の連携デモ」のスクリプトは、 「MSH Script」と「HTML(withVBScript)」が1つのファイルに詰め込まれているので、メンテナンス性がよくありません。 そこで、少し改修してみました。…

「head」と「tail」

MSH

UNIXシェルの「head」と「tail」を作成してみます。 「head」(読み込み行数のデフォルト:10) function Get-Head { PARAM([String]$file, [int]$line=10) get-content $file | select-object -first $line } set-Alias head Get-Head 「head」利用例 MSH C:\..…

パスの結合(combine-path)

MSH

※「combine-path」はPowerShell 1.0では「Join-Path」という名前に変更されています。「combine-path」はパスの結合を行うCmdletです。 パスは、ファイル/レジストリの両方に対応可能です。 「combine-path」:ファイルパスの結合 「\」がなくても補完して…

スクリプト自身のパスを取得する

MSH

$MyInvocation 「$MyInvocation」はスクリプト実行時、スクリプト自身の情報を格納しています。スクリプト自身のパスは、 $MyInvocation.MyCommand.Path スクリプト名は、 $MyInvocation.MyCommand.Name に格納されています。 では、サンプルです。まず、以…

スクリプトファイルのインクルード

MSH

汎用的な処理を1つのスクリプトにまとめ、他のスクリプトから利用したい場合、 スクリプトファイルのインクルードができれば便利です。 「.(ドット)」+「 (スペース)」でインクルード 「.(ドット)」+「 (スペース)」に続けてスクリプトファイルを指定する…

プロパティのフィルタリング

MSH

「filter」プロパティのフィルタリング 「filter」ステートメント(という表現で正しいのかな?)を利用すると、プロパティをフィルタリングできます。 ヘルプは、以下のスクリプトで確認できます。 help about_Filter 指定プロパティ名でフィルタリング 以下…

終了したプロセスを知る

MSH

「get-process」はCmdlet実行時のスナップショット 「get-process」で取得できるプロセス情報は、Cmdlet実行時のスナップショットです。 あるプロセスが生きているかをチェックする際、 もちろん、毎回「get-process」を発行すれば確認は可能ですが、それで…

HereString

MSH

「HereString」は改行やタブ、引用符を文字列として含めることができます。 変数展開あり/なしの2種類のタイプがあります。 HereString(変数展開あり) @"[文字列]"@ HTMLヘッダ出力 MSH C:\> $title = "MSH Memo" MSH C:\> @" >> <html> >> <head> >> <title>$title</title> >> </head> >> "@</html>…

STAスレッドで実行が必要なオブジェクトが動作しない問題

MSH

現バージョンのMSHでは、STAスレッドで実行が必要なオブジェクトが動作しません。 例えば、.NET2.0で追加されたWebBrowserコントロールもその1つです。 ニュースグループ:microsoft.public.windows.server.scripting に書かれていましたが、これは、Monad…

Monad + VBScript(IE)

MSH

PDC 2005 Demo Video - PowerShell Memoで紹介したPDC 2005のDemo VideoにMonadとVBScript(IE)の連携デモがあります。 HTML(withVBScript)を出力するFunctionをMSH Scriptで記述し、 出力したHTML上のVBScriptからExcelのChartオブジェクトを生成/表示する…

PDC 2005 Demo Video

MSH

Monad Advanced Command Line ScriptingにPDC2005で行われたMonadのDemo Movieが公開されています。 #使用されたPowerPoint資料もダウンロードできます。詳しくは見ていませんが、後半のDemoで、IronPythonとの連携を見せているようです。

$inputの謎(2)

MSH

パイプでオブジェクトが渡されたかどうか判断するには? $inputのCloneメソッド、MoveNextメソッドを組み合わせることで、オブジェクトが渡されたかどうか判断できます。 パイプでオブジェクトが渡されたかどうか判断する function existPipedObject { $test…

$inputの謎(1)

MSH

「more」の挙動 「more」コマンドを作成する - PowerShell Memoで 「パイプと引数を同時に渡すと、両方処理してしまう点が課題です」と書きましたが、Cygwinで ls | more test.txt と打つと、パイプと引数の両方ともページング表示されました。 ということは…