troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

任意のPowerShell コマンドレットのソースコードを確認

任意のPowerShell コマンドレットのソースコードを確認する方法を紹介します。

任意のPowerShell コマンドレットのソースコードを確認する方法
1. Get-Command を利用して、コマンドレットのDLL のパス(DLL)、並びに実装されているタイプ(ImplementingType) を確認します。

PS C:\> Get-Command Get-AzureRmLocation | Format-List DLL, ImplementingType

DLL              : C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\AzureRM.
                   Resources\Microsoft.Azure.Commands.ResourceManager.Cmdlets.dll
ImplementingType : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureLocationCmdlet


2. 1 の出力より「Get-AzureRmLocation」は「C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\AzureRM.                   Resources\Microsoft.Azure.Commands.ResourceManager.Cmdlets.dll」に実装されていることがわかりました。


3. デコンパイラを利用して、外套DLL をデコンパイルし、外套のタイプのソースを確認します。
フリーで使用できるデコンパイラに、dotPeekJustDecompileILSpy といったものがあります。
以下は、dotPeek にてデコンパイルしたときのスクリーンショットです。デコンパイルされたソースコードが確認できます。


補足1
今回用いた「Get-AzureRmLocation」はGitHub にオープンソースで公開されております。
外套のタイプを、Azure PowerShell のGitHub のページで検索することにより、簡単に外套のソースコードにたどり着くことも可能です。


補足2
Get-Command の出力にDLL、ImplementingType が出力されないコマンドレットもありました。


情報元
Get the source code of the PowerShell cmdlets (英語)

関連記事
最適化を無効にして、.NET のソースデバッグをする方法
フリーのdotPeek を用いて、任意の.NET モジュールをソースデバッグ
  1. 2016/06/26(日) 22:36:50|
  2. Tips
  3. | トラックバック:0
  4. | コメント:0
<<Linux 上の Node.js のアプリを Windows 上のVisual Studio からリモートデバッグ | ホーム | ブート時ハングのダンプ解析>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/295-10fd8315
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (24)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。