コマンドレットの探し方

命題

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

手順

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