Feb 18, 2007

Windows PowerShell にチャレンジ (2)

Windows PowerShell のコマンド一覧

Get-Command でコマンド一覧を表示できる。 .Net を使ったことがないので馴染みの無いコマンドばかり。 機能を類推し易い命名になっているので有り難い。

PS C:\> Get-Command | sort

CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Add-Content                     Add-Content [-Path] <String[...
Cmdlet          Add-History                     Add-History [[-InputObject] ...
Cmdlet          Add-Member                      Add-Member [-MemberType] <PS...
Cmdlet          Add-PSSnapin                    Add-PSSnapin [-Name] <String...
Cmdlet          Clear-Content                   Clear-Content [-Path] <Strin...
Cmdlet          Clear-Item                      Clear-Item [-Path] <String[]...
Cmdlet          Clear-ItemProperty              Clear-ItemProperty [-Path] <...
Cmdlet          Clear-Variable                  Clear-Variable [-Name] <Stri...
Cmdlet          Compare-Object                  Compare-Object [-ReferenceOb...
Cmdlet          ConvertFrom-SecureString        ConvertFrom-SecureString [-S...
Cmdlet          Convert-Path                    Convert-Path [-Path] <String...
Cmdlet          ConvertTo-Html                  ConvertTo-Html [[-Property] ...
Cmdlet          ConvertTo-SecureString          ConvertTo-SecureString [-Str...
Cmdlet          Copy-Item                       Copy-Item [-Path] <String[]>...
Cmdlet          Copy-ItemProperty               Copy-ItemProperty [-Path] <S...
Cmdlet          Export-Alias                    Export-Alias [-Path] <String...
Cmdlet          Export-Clixml                   Export-Clixml [-Path] <Strin...
Cmdlet          Export-Console                  Export-Console [[-Path] <Str...
Cmdlet          Export-Csv                      Export-Csv [-Path] <String> ...
Cmdlet          ForEach-Object                  ForEach-Object [-Process] <S...
Cmdlet          Format-Custom                   Format-Custom [[-Property] <...
Cmdlet          Format-List                     Format-List [[-Property] <Ob...
Cmdlet          Format-Table                    Format-Table [[-Property] <O...
Cmdlet          Format-Wide                     Format-Wide [[-Property] <Ob...
Cmdlet          Get-Acl                         Get-Acl [[-Path] <String[]>]...
Cmdlet          Get-Alias                       Get-Alias [[-Name] <String[]...
Cmdlet          Get-AuthenticodeSignature       Get-AuthenticodeSignature [-...
Cmdlet          Get-ChildItem                   Get-ChildItem [[-Path] <Stri...
Cmdlet          Get-Command                     Get-Command [[-ArgumentList]...
Cmdlet          Get-Content                     Get-Content [-Path] <String[...
Cmdlet          Get-Credential                  Get-Credential [-Credential]...
Cmdlet          Get-Culture                     Get-Culture [-Verbose] [-Deb...
Cmdlet          Get-Date                        Get-Date [[-Date] <DateTime>...
Cmdlet          Get-EventLog                    Get-EventLog [-LogName] <Str...
Cmdlet          Get-ExecutionPolicy             Get-ExecutionPolicy [-Verbos...
Cmdlet          Get-Help                        Get-Help [[-Name] <String>] ...
Cmdlet          Get-History                     Get-History [[-Id] <Int64[]>...
Cmdlet          Get-Host                        Get-Host [-Verbose] [-Debug]...
Cmdlet          Get-Item                        Get-Item [-Path] <String[]> ...
Cmdlet          Get-ItemProperty                Get-ItemProperty [-Path] <St...
Cmdlet          Get-Location                    Get-Location [-PSProvider <S...
Cmdlet          Get-Member                      Get-Member [[-Name] <String[...
Cmdlet          Get-PfxCertificate              Get-PfxCertificate [-FilePat...
Cmdlet          Get-Process                     Get-Process [[-Name] <String...
Cmdlet          Get-PSDrive                     Get-PSDrive [[-Name] <String...
Cmdlet          Get-PSProvider                  Get-PSProvider [[-PSProvider...
Cmdlet          Get-PSSnapin                    Get-PSSnapin [[-Name] <Strin...
Cmdlet          Get-Service                     Get-Service [[-Name] <String...
Cmdlet          Get-TraceSource                 Get-TraceSource [[-Name] <St...
Cmdlet          Get-UICulture                   Get-UICulture [-Verbose] [-D...
Cmdlet          Get-Unique                      Get-Unique [-InputObject <PS...
Cmdlet          Get-Variable                    Get-Variable [[-Name] <Strin...
Cmdlet          Get-WmiObject                   Get-WmiObject [-Class] <Stri...
Cmdlet          Group-Object                    Group-Object [[-Property] <O...
Cmdlet          Import-Alias                    Import-Alias [-Path] <String...
Cmdlet          Import-Clixml                   Import-Clixml [-Path] <Strin...
Cmdlet          Import-Csv                      Import-Csv [-Path] <String[]...
Cmdlet          Invoke-Expression               Invoke-Expression [-Command]...
Cmdlet          Invoke-History                  Invoke-History [[-Id] <Strin...
Cmdlet          Invoke-Item                     Invoke-Item [-Path] <String[...
Cmdlet          Join-Path                       Join-Path [-Path] <String[]>...
Cmdlet          Measure-Command                 Measure-Command [-Expression...
Cmdlet          Measure-Object                  Measure-Object [[-Property] ...
Cmdlet          Move-Item                       Move-Item [-Path] <String[]>...
Cmdlet          Move-ItemProperty               Move-ItemProperty [-Path] <S...
Cmdlet          New-Alias                       New-Alias [-Name] <String> [...
Cmdlet          New-Item                        New-Item [-Path] <String[]> ...
Cmdlet          New-ItemProperty                New-ItemProperty [-Path] <St...
Cmdlet          New-Object                      New-Object [-TypeName] <Stri...
Cmdlet          New-PSDrive                     New-PSDrive [-Name] <String>...
Cmdlet          New-Service                     New-Service [-Name] <String>...
Cmdlet          New-TimeSpan                    New-TimeSpan [[-Start] <Date...
Cmdlet          New-Variable                    New-Variable [-Name] <String...
Cmdlet          Out-Default                     Out-Default [-InputObject <P...
Cmdlet          Out-File                        Out-File [-FilePath] <String...
Cmdlet          Out-Host                        Out-Host [-Paging] [-InputOb...
Cmdlet          Out-Null                        Out-Null [-InputObject <PSOb...
Cmdlet          Out-Printer                     Out-Printer [[-Name] <String...
Cmdlet          Out-String                      Out-String [-Stream] [-Width...
Cmdlet          Pop-Location                    Pop-Location [-PassThru] [-S...
Cmdlet          Push-Location                   Push-Location [[-Path] <Stri...
Cmdlet          Read-Host                       Read-Host [[-Prompt] <Object...
Cmdlet          Remove-Item                     Remove-Item [-Path] <String[...
Cmdlet          Remove-ItemProperty             Remove-ItemProperty [-Path] ...
Cmdlet          Remove-PSDrive                  Remove-PSDrive [-Name] <Stri...
Cmdlet          Remove-PSSnapin                 Remove-PSSnapin [-Name] <Str...
Cmdlet          Remove-Variable                 Remove-Variable [-Name] <Str...
Cmdlet          Rename-Item                     Rename-Item [-Path] <String>...
Cmdlet          Rename-ItemProperty             Rename-ItemProperty [-Path] ...
Cmdlet          Resolve-Path                    Resolve-Path [-Path] <String...
Cmdlet          Restart-Service                 Restart-Service [-Name] <Str...
Cmdlet          Resume-Service                  Resume-Service [-Name] <Stri...
Cmdlet          Select-Object                   Select-Object [[-Property] <...
Cmdlet          Select-String                   Select-String [-Pattern] <St...
Cmdlet          Set-Acl                         Set-Acl [-Path] <String[]> [...
Cmdlet          Set-Alias                       Set-Alias [-Name] <String> [...
Cmdlet          Set-AuthenticodeSignature       Set-AuthenticodeSignature [-...
Cmdlet          Set-Content                     Set-Content [-Path] <String[...
Cmdlet          Set-Date                        Set-Date [-Date] <DateTime> ...
Cmdlet          Set-ExecutionPolicy             Set-ExecutionPolicy [-Execut...
Cmdlet          Set-Item                        Set-Item [-Path] <String[]> ...
Cmdlet          Set-ItemProperty                Set-ItemProperty [-Path] <St...
Cmdlet          Set-Location                    Set-Location [[-Path] <Strin...
Cmdlet          Set-PSDebug                     Set-PSDebug [-Trace <Int32>]...
Cmdlet          Set-Service                     Set-Service [-Name] <String>...
Cmdlet          Set-TraceSource                 Set-TraceSource [-Name] <Str...
Cmdlet          Set-Variable                    Set-Variable [-Name] <String...
Cmdlet          Sort-Object                     Sort-Object [[-Property] <Ob...
Cmdlet          Split-Path                      Split-Path [-Path] <String[]...
Cmdlet          Start-Service                   Start-Service [-Name] <Strin...
Cmdlet          Start-Sleep                     Start-Sleep [-Seconds] <Int3...
Cmdlet          Start-Transcript                Start-Transcript [[-Path] <S...
Cmdlet          Stop-Process                    Stop-Process [-Id] <Int32[]>...
Cmdlet          Stop-Service                    Stop-Service [-Name] <String...
Cmdlet          Stop-Transcript                 Stop-Transcript [-Verbose] [...
Cmdlet          Suspend-Service                 Suspend-Service [-Name] <Str...
Cmdlet          Tee-Object                      Tee-Object [-FilePath] <Stri...
Cmdlet          Test-Path                       Test-Path [-Path] <String[]>...
Cmdlet          Trace-Command                   Trace-Command [-Name] <Strin...
Cmdlet          Update-FormatData               Update-FormatData [[-AppendP...
Cmdlet          Update-TypeData                 Update-TypeData [[-AppendPat...
Cmdlet          Where-Object                    Where-Object [-FilterScript]...
Cmdlet          Write-Debug                     Write-Debug [-Message] <Stri...
Cmdlet          Write-Error                     Write-Error [-Message] <Stri...
Cmdlet          Write-Host                      Write-Host [[-Object] <Objec...
Cmdlet          Write-Output                    Write-Output [-InputObject] ...
Cmdlet          Write-Progress                  Write-Progress [-Activity] <...
Cmdlet          Write-Verbose                   Write-Verbose [-Message] <St...
Cmdlet          Write-Warning                   Write-Warning [-Message] <St...


PS C:\>

Windows PowerShell のエイリアス一覧

Get-Alias でコマンドに割り当てられたエイリアスを一覧表示できる。 UNIX 系コマンドをかなり意識したエイリアスがデフォルトで用意されているので、UNIX に慣れていればエイリアスが便利そう。

PS C:\> Get-Alias | sort

CommandType     Name                            Definition
-----------     ----                            ----------
Alias           %                               ForEach-Object
Alias           ?                               Where-Object
Alias           ac                              Add-Content
Alias           asnp                            Add-PSSnapin
Alias           cat                             Get-Content
Alias           cd                              Set-Location
Alias           chdir                           Set-Location
Alias           clc                             Clear-Content
Alias           clear                           Clear-Host
Alias           cli                             Clear-Item
Alias           clp                             Clear-ItemProperty
Alias           cls                             Clear-Host
Alias           clv                             Clear-Variable
Alias           copy                            Copy-Item
Alias           cp                              Copy-Item
Alias           cpi                             Copy-Item
Alias           cpp                             Copy-ItemProperty
Alias           cvpa                            Convert-Path
Alias           del                             Remove-Item
Alias           diff                            Compare-Object
Alias           dir                             Get-ChildItem
Alias           echo                            Write-Output
Alias           epal                            Export-Alias
Alias           epcsv                           Export-Csv
Alias           erase                           Remove-Item
Alias           fc                              Format-Custom
Alias           fl                              Format-List
Alias           foreach                         ForEach-Object
Alias           ft                              Format-Table
Alias           fw                              Format-Wide
Alias           gal                             Get-Alias
Alias           gc                              Get-Content
Alias           gci                             Get-ChildItem
Alias           gcm                             Get-Command
Alias           gdr                             Get-PSDrive
Alias           ghy                             Get-History
Alias           gi                              Get-Item
Alias           gl                              Get-Location
Alias           gm                              Get-Member
Alias           gp                              Get-ItemProperty
Alias           gps                             Get-Process
Alias           group                           Group-Object
Alias           gsnp                            Get-PSSnapin
Alias           gsv                             Get-Service
Alias           gu                              Get-Unique
Alias           gv                              Get-Variable
Alias           gwmi                            Get-WmiObject
Alias           h                               Get-History
Alias           history                         Get-History
Alias           iex                             Invoke-Expression
Alias           ihy                             Invoke-History
Alias           ii                              Invoke-Item
Alias           ipal                            Import-Alias
Alias           ipcsv                           Import-Csv
Alias           kill                            Stop-Process
Alias           lp                              Out-Printer
Alias           ls                              Get-ChildItem
Alias           mi                              Move-Item
Alias           mount                           New-PSDrive
Alias           move                            Move-Item
Alias           mp                              Move-ItemProperty
Alias           mv                              Move-Item
Alias           nal                             New-Alias
Alias           ndr                             New-PSDrive
Alias           ni                              New-Item
Alias           nv                              New-Variable
Alias           oh                              Out-Host
Alias           popd                            Pop-Location
Alias           ps                              Get-Process
Alias           pushd                           Push-Location
Alias           pwd                             Get-Location
Alias           r                               Invoke-History
Alias           rd                              Remove-Item
Alias           rdr                             Remove-PSDrive
Alias           ren                             Rename-Item
Alias           ri                              Remove-Item
Alias           rm                              Remove-Item
Alias           rmdir                           Remove-Item
Alias           rni                             Rename-Item
Alias           rnp                             Rename-ItemProperty
Alias           rp                              Remove-ItemProperty
Alias           rsnp                            Remove-PSSnapin
Alias           rv                              Remove-Variable
Alias           rvpa                            Resolve-Path
Alias           sal                             Set-Alias
Alias           sasv                            Start-Service
Alias           sc                              Set-Content
Alias           select                          Select-Object
Alias           set                             Set-Variable
Alias           si                              Set-Item
Alias           sl                              Set-Location
Alias           sleep                           Start-Sleep
Alias           sort                            Sort-Object
Alias           sp                              Set-ItemProperty
Alias           spps                            Stop-Process
Alias           spsv                            Stop-Service
Alias           sv                              Set-Variable
Alias           tee                             Tee-Object
Alias           type                            Get-Content
Alias           where                           Where-Object
Alias           write                           Write-Output


PS C:\>

Windows PowerShell のコマンドを試してみる

試しに Get-Service を実行してサービスの一覧を表示してみた。

PS C:\> Get-Service

Status   Name               DisplayName
------   ----               -----------
Stopped  Alerter            Alerter
Running  ALG                Application Layer Gateway Service
Stopped  AppMgmt            Application Management
Stopped  aspnet_state       ASP.NET State Service
Running  AudioSrv           Windows Audio
    (略)
Running  wscsvc             Security Center
Running  wuauserv           Automatic Updates
Stopped  WZCSVC             Wireless Zero Configuration
Stopped  xmlprov            Network Provisioning Service


PS C:\>
きちんとサービスがリストアップされた(当たり前か)。 サービスの開始や停止も試してみることに。
PS C:\> Start-Service Themes
PS C:\> Get-Service Themes

Status   Name               DisplayName
------   ----               -----------
Running  Themes             Themes


PS C:\> Stop-Service Themes
PS C:\> Get-Service Themes

Status   Name               DisplayName
------   ----               -----------
Stopped  Themes             Themes


PS C:\>
非常に簡単にサービスの開始や停止ができた。 便利。

TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/dotNet/20070218_01.trackback
Post a comment

writeback message: Ready to post a comment.