目次
PowerShell(Windows)
PowerShell - Linux
本家: PowerShell Documentation | Microsoft Docs
ソースコード: GitHub - PowerShell/PowerShell: PowerShell for every system!
最新バージョン: v7.3.6
PowerShell (パワーシェル)は、マイクロソフトが開発した拡張可能なコマンドラインインターフェース (CLI) シェルおよびスクリプト言語である。オブジェクト指向に基づいて設計されており、.NET Frameworkと.NET Coreを基盤としている。
かつては Microsoft Shell (MSH、コードネーム Monad) と呼ばれていた。
Windows 7 以降のオペレーティングシステム (OS) には標準で搭載されている。
インストール
Scoop によるインストール
dorado バケットを追加する😉
PS > scoop bucket add dorado https://github.com/chawyehsu/dorado
Checking repo... ok The dorado bucket was added successfully.
PowerShell のインストール
PS > scoop install powershell
Installing 'powershell' (7.3.6) [64bit] PowerShell-7.3.6-win-x64.zip (102.9 MB) [=====================================================================] 100% Checking hash of PowerShell-7.3.6-win-x64.zip ... ok. Extracting PowerShell-7.3.6-win-x64.zip ... done. Linking ~\scoop\apps\powershell\current => ~\scoop\apps\powershell\7.3.6 Creating shim for 'pwsh'. Creating shortcut for PowerShell (pwsh.exe) 'powershell' (7.3.6) was installed successfully!
PowerShell のグローバルインストール
PS > sudo scoop install -g powershell
Installing 'powershell' (7.0.0) [64bit] PowerShell-7.0.0-win-x64.zip (88.7 MB) [======================================================================] 100% Checking hash of PowerShell-7.0.0-win-x64.zip ... ok. Extracting PowerShell-7.0.0-win-x64.zip ... done. Linking C:\ProgramData\scoop\apps\powershell\current => C:\ProgramData\scoop\apps\powershell\7.0.0 Creating shim for 'pwsh'. Creating shortcut for PowerShell (pwsh.exe) 'powershell' (7.0.0) was installed successfully!
PowerShell(Preview版) のインストール
PS > scoop install powershell-preview
Installing 'powershell-preview' (7.0.0-rc.3) [64bit] PowerShell-7.0.0-rc.3-win-x64.zip (88.8 MB) [=================================================================] 100% Checking hash of PowerShell-7.0.0-rc.3-win-x64.zip ... ok. Extracting PowerShell-7.0.0-rc.3-win-x64.zip ... done. Linking ~\scoop\apps\powershell-preview\current => ~\scoop\apps\powershell-preview\7.0.0-rc.3 Creating shim for 'pwsh'. WARN Overwriting shim to pwsh.exe installed from powershell Creating shortcut for PowerShell Preview (pwsh.exe) 'powershell-preview' (7.0.0-rc.3) was installed successfully!
ダウンロード
Releases · PowerShell/PowerShell
https://aka.ms/pscore6
https://aka.ms/pscore6-docs
https://aka.ms/PowerShell-Release?tag=v7.0.0
Releases · PowerShell/PowerShell - Release Candidate 1
Releases · PowerShell/PowerShell - Release Candidate 2
Releases · PowerShell/PowerShell - Release Candidate 3
変数
コマンド
PowerShell コマンド
PowerShell リモートコマンド実行
PowerShell エイリアス Get-Alias (alias: gal)
PowerShell コマンド情報取得[where/which] Get-Command (alias: gcm)
PowerShell からコマンドプロンプトのインタープリタコマンドの呼び出し
コマンド履歴
$ less (Get-PSReadlineOption).HistorySavePath
$ cat (Get-PSReadlineOption).HistorySavePath | grep "scoop search"
PowerShellGet
PowerShell Gallery | Home
PowerShell ギャラリー
PowerShellGet をインストールするには、以下のコマンドを実行する。
$ sudo Install-Module -Name PowerShellGet -Force
PowerShellGet を新しいバージョンに更新するには、以下のコマンドを実行する。
$ sudo Update-Module -Name PowerShellGet
参考文献
PowerShell ギャラリー - PowerShell | Microsoft Docs
PowerShellGet のインストール - PowerShell | Microsoft Docs
Powershell のテーマ設定
現在のコンソール設定をバックアップする。
$ concfg export console-backup.json
console settings exported to console-backup.json
ソラリゼーションカラーテーマを使用する。
$ concfg import solarized-dark
Console settings were imported from 'solarized-dark' Overrides in the registry and shortcut files might interfere with your concfg settings. Would you like to find and remove them? (Y/n): y <- 入力する Removing 'Registry::HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe' Removing 'Registry::HKEY_CURRENT_USER\Console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe' Reset console properties of shortcut 'C:\Users\tomoyan\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell (x86).lnk' Reset console properties of shortcut 'C:\Users\tomoyan\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk' Would you like to open a new console to see the changes? (Y/n): n <- 入力する
上記の翻訳
Overrides in the registry and shortcut files might interfere with your concfg settings. Would you like to find and remove them?
レジストリファイルおよびショートカットファイルのオーバーライドは、concfg設定に干渉する可能性があります。それらを見つけて削除しますか?
Would you like to open a new console to see the changes?
変更を確認するために新しいコンソールを開きますか?
参考文献
PowerShell のバージョン
PS > Get-Host Name : ConsoleHost Version : 6.2.4 InstanceId : 3a2ed9d0-2c0b-42d5-976a-459d8e3f07af UI : System.Management.Automation.Internal.Host.InternalHostUserInterface CurrentCulture : ja-JP CurrentUICulture : ja-JP PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy DebuggerEnabled : True IsRunspacePushed : False Runspace : System.Management.Automation.Runspaces.LocalRunspace PS > Get-Host | Select-Object Version Version ------- 6.2.4 PS > $PSVersiontable Name Value ---- ----- PSVersion 6.2.4 PSEdition Core GitCommitId 6.2.4 OS Microsoft Windows 10.0.19559 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0
hosts ファイルの編集 (管理者として実行)
PS > start-process notepad c:\windows\system32\drivers\etc\hosts -verb runas
カレントディレクトリ変更
PS C:\Windows\System32> cd ~ PS C:\Users\tomoyan> pwd Path ---- C:\Users\tomoyan
サービスの起動/停止 (管理者として実行)
PS > start-process net -argumentlist "start postgresql-x64-11" -verb runas PS > start-process net -argumentlist "stop postgresql-x64-11" -verb runas
参考文献
PowerShell - vwnet.jp
Releases · PowerShell/Win32-OpenSSH · GitHub
https://binary-pulsar.hatenablog.jp/entry/2018/09/01/000000
How can I use PowerShell with the Visual Studio Command Prompt? - Stack Overflow
PowerShell Community Extensions - CodePlex Archive
PSCX 3.2.0 Available | Keith Hill's Blog
Keith Hill's Blog | Just another WordPress.com site
PowerShell Gallery | Home
PowerShell の入力履歴
How to use vcvars64.bat from Powershell? / Questions / Discussion Area - AppVeyor Support
vcpkg/bootstrap.ps1 at 2020.11 · microsoft/vcpkg
Passing variables between Powershell commands in a python script