2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

身の回りの困りごとを楽しく解決! by Works Human IntelligenceAdvent Calendar 2024

Day 17

PowerShell 起動 Version とどの profile が利用されているか、を確認できるようにしておく

Posted at

背景

Powershell の起動 Version 7.* という制約があった際、
実際にどっちが動いているか分からないってことがあった

というのも、5.* 系の Powershell 使ってても、pwsh -V って打てば 7.* 系に見えてしまうっていう話と、proile に書き込んでも反応しない!ってならないための予防策

image.png

解決策

ってことで、profile に、以下のようなものを仕込んでおくことで、起動時のバージョンと、どの profile を使ってるかを認識して使えるよって話

version & profile 表示
# get the PowerShell edition and version
$edition = $PSVersionTable.PSEdition
$version = $PSVersionTable.PSVersion
$profilePath = $MyInvocation.MyCommand.Path

# 表示するメッセージを作成
if ($edition -eq 'Core') {
    $message = "PowerShell Core (pwsh) version $version"
} else {
    $message = "Windows PowerShell version $version"
}

# メッセージを表示
Write-Host "$message"
Write-Host " with: $profilePath"

profile

profile は、条件によって複数読み込まれる。
以下のように、最終的に読み込まれた profile がわかることで、なにが有効になっているかを把握出来る。
分かってないと、設定したのに反応しない!って思うこともあるので。

image.png

あとがき

正直、分かってる人は分かってるので、要らないんじゃね?というオチだったりする :sweat_smile:

まぁ、-V ではなく、$PSVersionTable 確認のほうが、version 依存しなくていいねってことが分かったので良しとする

2
0
0

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?