2016/08/31 現在の Windows 10 1607(x64 Enterprise)と、Linux(CentOS
7)での PowerShell の違いをざっくりまとめました。
(まだ使い込んでいないので、さわりだけ)
| Windows 10 1607 | Linux | TP5 NanoServer (参考) |
備考 | |
| バージョン | 5.1.14393.82 | 6.0.0-alpha | 5.1.14284.1000 | |
| TAB 補完 | 〇 | 〇 | 〇 | |
| リダイレクト | 〇 | 〇 | 〇 | |
| 標準コマンドレット数 | 1,511 | 346 | 853 | |
| 変数の大文字小文字区別 | しない | 一部する | しない | $env: とか Linux が大文字/小文字を区別しているもの 変数名とかコマンドレット名は区別なし |
| Get-Member | 〇 | 〇 | 〇 | |
| Get-Command | 〇 | 〇 | 〇 | |
| Get-Help | 〇 | △ | 〇 | -Online 使えない |
| PowerShell ISE | 〇 | × | 〇 | |
| 外部コマンド実行 | 〇 | 〇 | 〇 | |
| .NET Framework | 〇(.NET 4.6) | 〇(.NET Core) | 〇(.NET Core) | New-Object ではなく []::new とか []::Create が主流? |
| リモーティング | 〇 | × | ? | Invoke-Command 等は 6.0.0-alpha では機能しない(既知の問題) (Over ssh は出来るらしい 山市良のえぬなんとかわーるど: メモ: PowerShell v6.0.0-alpha.9 on Linux and Windows (enjoy cross PSRemoting)) |
| レジストリ | 〇 | × | 〇 | Linux にレジストリはない |
| WMI | 〇 | × | ? | Linux に WMI はない |
コマンドレット数を見るとわかるのですが、サポートされていないコマンドレットが相当数あるので、それを注意すれば、Nano Server と同様に 普通に PowerShell が使えます。
Get-Member、Get-Command、Get-Help が使えるので、困った時でも PowerShell 流の対応が可能なのが嬉しいです。
ただし、.NET Framework を直接ハンドリングしている場合は、少し作法が違うので(互換性はあり)、.NET Core を意識した書き方にする必要があります。
PowerShell on CentOS 7 on Hyper-V
http://www.vwnet.jp/Windows/PowerShell/2016082801/PowerShellonCentOS7.htm
![]()
![]()
Copyright © MURA All rights reserved.