LoginSignup
11
14

More than 5 years have passed since last update.

PowerShellを始める前に知っておくと良いかも知れない知識

Posted at

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
11
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14