コマンドレットの探し方

命題

  • マックアドレスを調べるコマンドレットを探してみる。

手順

1. Get-Commandで関係しそうなコマンドレットをある程度絞り込む

PS brazil> Get-Command -Verb get -Noun *net*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-BCNetworkConfiguration                         1.0.0.0    BranchCache
Function        Get-DtcNetworkSetting                              1.0.0.0    MsDtc
Function        Get-HnsNetwork                                     1.0.0.0    HostNetworkingService
Function        Get-Net6to4Configuration                           1.0.0.0    NetworkTransition
Function        Get-NetAdapter                                     2.0.0.0    NetAdapter
Function        Get-NetAdapterAdvancedProperty                     2.0.0.0    NetAdapter
Function        Get-NetAdapterBinding                              2.0.0.0    NetAdapter
Function        Get-NetAdapterChecksumOffload                      2.0.0.0    NetAdapter
(略)
Cmdlet          Get-VMNetworkAdapterRoutingDomainMapping           2.0.0.0    Hyper-V
Cmdlet          Get-VMNetworkAdapterTeamMapping                    2.0.0.0    Hyper-V
Cmdlet          Get-VMNetworkAdapterVlan                           2.0.0.0    Hyper-V
  • 情報を取得するから、-VerbはGetで間違いない。マックアドレスだから、-Nounにnetが入ってそうだろうから、*net*を指定。
PS> Get-Command -Verb get -Noun *net* -Module NetAdapter

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-NetAdapter                                     2.0.0.0    NetAdapter
Function        Get-NetAdapterAdvancedProperty                     2.0.0.0    NetAdapter
Function        Get-NetAdapterBinding                              2.0.0.0    NetAdapter
(略)
  • 関係なさそうなモジュールは除外していく(上のHyper-Vなど)、するとNetAdapterモジュールのがたくさんあるし、Nameもそれっぽい。
  • -ModuleにNetAdapterを指定して、再度検索する。
PS> $list = Get-Command -Verb get -Noun *net* -Module NetAdapter
  • 検索結果のコマンドレット一覧をいったん$listに入れる。

2. Get-Helpで絞り込んだコマンドレット一覧のシノプシスを読む

PS> $list | Get-Help | select name, synopsis

Name                                        Synopsis
----                                        --------
Get-NetAdapter                              Gets the basic network adapter properties.
Get-NetAdapterAdvancedProperty              Gets the advanced properties for a network adapter.
Get-NetAdapterBinding                       Gets a list of bindings for a network adapter.
(略)
  • シノプシスを読むと、Get-NetAdapterがそれっぽいことがわかる。

3. Get-Memberであたりをつけたコマンドレットのメンバーを調べる

PS> Get-NetAdapter | gm -Name macaddress

   TypeName: Microsoft.Management.Infrastructure.CimInstance#ROOT/StandardCimv2/MSFT_NetAdapter

Name       MemberType     Definition
----       ----------     ----------
MacAddress ScriptProperty System.Object MacAddress {get=$out = ""...k adapter.
  • Get-NetAdapterのメンバーにmacaddressがないか調べると、まさにある。

結論

  • Get-Command、Get-Help、Get-Memberを使う。
  • コマンドレットのVerbとNounを意識すると見つけやすい。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2018-07-30 (月) 08:14:47 (79d)