2014年9月26日金曜日

◆Foreach-Objectのパラメータへの疑問

今更の感じはするが、Foreach-Objectの動作。

PS>1..3 | ForEach-Object{"開始"}{"ループ"}{"終了"}
開始
ループ
ループ
ループ
終了

本来、ヘルプを見ると位置オペランドは(-Process)だけなので、なぜこれで動くのだろうとちょっと疑問に思う。

ちなみに、以下は良いが、

PS>1..3 | ForEach-Object{"開始"}{"ループ"}

当然、以下は上と同じ書式なので「ループ」が初期処理とみなされる。

PS>1..3 | ForEach-Object{"ループ"}{"終了"}

なので、

PS>1..3 | ForEach-Object{"ループ"}  -end{"終了"}

とする必要が有りそう。

2014年9月11日木曜日

◆Get-Helpの怪

なぜか以下のようなエラーが発生する。

PS>get-help  演算子
Get-Help : 型 [Microsoft.ActiveDirectory.Management.ADUser] が見つかりません。この型を含むアセンブリが読み
ことを確認してください。
発生場所 行:1 文字:9
+ get-help <<<<  演算子
    + CategoryInfo          : InvalidOperation: (Microsoft.Activ...nagement.ADUser:String) [Get-Help]、Ru
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.GetHelpCommand

普通は「演算子」という文字列が含まれるヘルプが一覧表示される。

image

さ~、なんとしたものか・・・。

自分だけがおかしいということは「Profile」・・・。

案の定、プロファイル無しで起動したらエラーは発生しなかった。

さぁ、ではプロファイルの何が悪いのか・・・。

なんだかんだ使わない物やテスト的に入っているものもありプロファイルは結構な量になっている。

と嘆いても仕方が無いので2分割方?で探していく・・・・・・・・・・・・・・・・・・・。

やっと見つけた、これだ!!

$env:path += ";D:\svndoc\PS\;.\"

ん~、スクリプトの入ったフォルダをPath環境変数に追加しているだけだ。

もしかして、このスクリプトの中もヘルプで探しに行ってしまうのか?

Version3で同じ環境にして試した見たが再現しなかった。

という事は「バグ」か。(><)