C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: コマンドレットの引数


(過去ログ 157 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■91420 / inTopicNo.1)  コマンドレットの引数
  
□投稿者/ sszz (1回)-(2019/06/24(Mon) 11:02:51)

分類:[.NET 全般] 

PowerShellのコマンドレットについて教えてください。

Get-Process | Get-Member

Get-Processで取得した配列をGet-Memberに渡すことができるのは理解できます。
Get-Processで配列を取得し、Get-Memberではこの配列を渡されて処理していると思いますが、
知りたいのは、Get-Memberはどのようなオブジェクトを引数として処理する事ができるのか知りたいです。
引用返信 編集キー/
■91423 / inTopicNo.2)  Re[1]: コマンドレットの引数
□投稿者/ ぼーちゃん (11回)-(2019/06/24(Mon) 17:07:09)
Windows PowerShellは.NET Frameworkベースの技術なので
.NETのオブジェクトならGet-Memberに渡せます。
(という回答で質問の意図に合っているか自信がないですが・・・)

例えば
「Get-Process | Get-Member」
を実行すると最初の行に
「TypeName: System.Diagnostics.Process」と出ると思います。
これが.NETでプロセス情報へアクセスする為のオブジェクトです。

Get-Processは動いているすべてのプロセスを取得して、
Processオブジェクトの配列を作ります。(System.Object[])
そしてGet-Memberはパイプ(|)で配列を渡されると、
その中の要素についてメンバーを表示するようになっているので、
Process型のメンバーが表示されたのです。


配列でない、例えば文字列なんかを
"abc" | Get-Member
のように渡せば、普通にその文字列の型(System.String)に
ついてメンバーを表示します。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -