PowerShellとは何か
PowerShellは、コマンドプロンプトの高機能版ですが、LinuxのShellのような使い勝手の進化が主眼ではありません。
PowerShellは、.Net Frameworkの基板の上に構築されておりスクリプトで.Net Frameworkのライブラリがそのまま使えます。
コマンドプロンプトを.Net Frameworkで再実装して、使い勝手を良くしたのでは無く、.Netのインフラストラクチャを自在に使えるスクリプト言語実行環境が、PowerShellです。
今どきの言語実行環境なので、コマンドプロンプトと違いPowerShellスクリプトは、セキュリティに気を配られて設計されています。
リモート接続という魔物
PowerShellには、リモート接続という機能があります。
高機能なShellは、telnetに似ているためリモートログインできるかのように勘違いしてしまいますが、PowerShellにリモートログインの機能はありません。
冷静に考えてみれば当たり前のことで、WindowsにはCUIログインの機能はありません。
Linuxのように、リモートでログインできる筈は無いのです。
では、リモート接続とは何かというと2つのPC間にセキュアな通信路を構築する機能です。名前のままですね。
接続先のPCへスクリプトを送って実行させ結果を受け取ることができます。
telnetのリモートログインは、あくまでもログイン先で実行されるため結果として返ってくるのは、コマンドライン上の文字データだけです。
それに対して、PowerShellはリモートで実行させたスクリプトの結果は、.Netのオブジェクトとして返ってきます。
私はなまじtelnetを知っていたため、この考え方が理解できるまで少し時間が必要でした。
接続するには、サーバーとクライアントのどちらにも設定が必要です。
PowerShell のバージョン確認方法
$PSVersionTable