「実行」によるPowerShellの起動の違い-GUIとWin + X

Aug 21 2020

Windows 10 v1909で管理者としてPowerShellを実行し、ターミナルウィンドウに変更を加えた場合(バッファーの変更など)、変更は必要に応じて保存されます。次に、バッファーサイズを999次のように変更します。

しかし、私がそれを「同じ方法」で始めた場合に限ります。2番目の開始手順には、独自の「ストレージ」があるようで、同じ結果は得られません。

  • コマンドを使用してダイアログの実行powershellと打つCtrl+ Shift+ OKを実行する(これは管理者として実行作ります

  • Win + Xメニュー、選択 Windows PowerShell (Administrator)

いずれかの方法でPowerShellを開くと、(内部で)何が正確に異なりますか?[実行]ダイアログのスイッチを使用して、「同じ」Powershellを強制的に開くことはできますか?

私の最初の推測では、そこには2つのコピーがありますpowershell.exeが、どちらのプロセスも、で同じバイナリを開始したこと%WinDir%\System32\WindowsPowerShell\v1.0を示してPowerShell.exeおり、一方はとして表示され、もう一方はとして表示されpowershell.exeます。Win + Xオプションを使用して、2番目のプロファイルを開始するための何らかのパラメーターのように見えますか?

回答

2 Thomas Aug 23 2020 at 18:44

実行可能ファイルを実行してPowerShellを直接起動する場合:

  • 32ビット: %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
  • 64ビット: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

⊞ Win+の下にXあるショートカットを使用したり、「PowerShell」を検索するときにスタートメニューにあるショートカットを使用したりするのとはまったく異なります。これらのショートカットはに保存され%AppData%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell、独自の設定を提供します。

postanote Aug 23 2020 at 06:13

元のクエリに戻ります...これは...

PowerShellを内部で開く場合の正確な違い

...それはまったく問題ではありません。WindowsPowerShellはOSの一部です。PowerShellの起動は、何があっても同じです。PowerShellの内部/外部起動の概念はありません。

実行コマンドcmd.exe、Win + Xなどを使用すると、これらはすべて毎回新しいPowerShellインスタンスであり、ストレージなどとは関係ありません。セッションで行う設定は、そのセッション専用です。

あなたはこれらの設定を保持したい場合は、これを行うための唯一の方法は、1である、デスクトップのショートカットを作成したり、既存のショートカットを変更し、(つまり、ショートカットを右クリックし、[プロパティ]をクリックします-ちょうどあなたが他のWindowsのショートカットと同じように)と、必要なプロパティを設定します。

PowerShellの2番目の方法は、PowerShellプロファイルを作成して使用することです。この日は、PowerShellトレーニングクラスの1時間1日です。

PowerShellディレクトリは、プロファイルを作成するか、手動で作成するまで存在しません。これは、@ JW0914がここで言おうとしていることです。powershell.exeを起動して、これを実行するだけです...

New-Item –Path $Profile –Type File –Force

.. powershell_ise.exeを起動して同じことを行うと、「WindowsPowerShell」ディレクトリが作成されます...

C:\ Users \ YourUserName \ Documents \ WindowsPowerShell

そして、2つのプロファイルは次のようになります

Microsoft.PowerShell_profile.ps1
Microsoft.PowerShellISE_profile.ps1

これらは単なる空のファイルであり、前述のように、ベースは選択した設定を設定できる場所であり、-noprofileパラメーターを使用してpowershell.exeまたはpowershell_iseを起動しない限り使用されます。

Powershellのヘルプドキュメントを参照してください。

これは、PowerShell Core(pwsh.exe)と呼ばれるPowerShellの別のバージョンであり、クロスプラットフォーム(Win / OSX / Linux)ですが、WindowsPowerShellをアップグレード/置換しません。それらは並んで実行するように設計されています。また、Windows PowerShellパスとは別に、独自のパスとプロファイルがあります。

C:\ Users \ YourUserName \ Documents \ PowerShell

Microsoft.PowerShell_profile.ps1

PowerShellCore用のISEはありません。PowerShellコア用のISEの代替は、Visual StudioCodeと呼ばれます。また、独自のプロファイルがあり、PowerShellフォルダーにある必要があります。

Microsoft.VSCode_profile.ps1