アニメの場合
アニメ作品では、異なる登場人物を同じ声優が担当することがあります。 最近一番驚いたのは、アニメ「ルパン三世」の次元大介役の声優交代の話です(本投稿執筆時点の約3か月前にインターネット記事で出ています)。交代前後の声優は以下の通りです。- 交代前:小林清志さん
- 交代後:大塚明夫さん
- 小林清志さん:エギーユ・デラーズ
- 大塚明夫さん:アナベル・ガトー
PowerShellの場合
話はPowerShellに変わります。こちらは、はまりポイントになったという話です。きっかけ
Windows11がWindows Updateから利用できるようになったのを受けて、自分の作業用PCをWindows11にアップグレードしました。 そのPCで自社開発アプリの動作確認を実施していましたが、アプリの1つでPowerShellスクリプトが動かないエラーが出ました。このシステムではスクリプトの実行が無効になっているため、ファイル XXXX を読み込むことができません。PowerShellの実行権限が無いときに出るエラーメッセージです。
調査してみる
実行権限の不足ということで、普段使っているPowerShellでLocalMachineに「RemoteSigned」を設定してみたが動きません。PS C:\> Get-ExecutionPolicy LocalMachine
RemoteSigned
PS C:\>
OS再起動しても動きません。
アプリを開発したメンバーにも確認しましたが「PowerShell」の権限設定に問題はなさそうでした。
Windows11ではPowerShellを起動するときに何か特殊な対応が必要なのか?と思って一度は諦めました。
謎が解けた
後日、アプリのログファイルに「PowerShell.exe」と出ているのを見つけて、自分のPCに2種類のPowerShellがいることに気づきました。2種類の「PowerShell」
2種類のPowerShellとは以下の通りです。- Window10プリインストール版
- PowerShell5.1
- プロセス名は「powershell.exe」
- 普段使っているPowerShell(後でインストールした後継版)
- PowerShell7.2
- プロセス名は「pwsh.exe」
このシステムではスクリプトの実行が無効になっているため、ファイル XXXX を読み込むことができません。
が延々と出ていました。実際に「powershell.exe」で実行権限を開放したら、無事に動きました。
「謎」の正体
今回の謎の正体は「PowerShell違い」でした。幸いにして特殊な対応は不要でした。2つのPowerShellの見分け方
最後に2つのPowerShellの見分け方をご紹介します。※本記事執筆当時、三浦の作業用PCで確認した動作です。Windows UpdateやPC本体の設定により異なる可能性があります。
起動直後のメッセージ
- powershell.exe は「新機能と改善のために最新の PowerShell をインストールしてください!」とメッセージを表示します。
- pwsh.exe は「PowerShell 7.2.0」のように、バージョン番号を先頭行に表示します。
バージョン番号
このコマンドでPowerShellのバージョン番号が分かります。$PSVersionTable | find --% "PSVersion"powershell.exe
PS C:\> $PSVersionTable | find --% "PSVersion" PSVersion 5.1.22000.282 PS C:\>pwsh.exe
PS C:\> $PSVersionTable | find --% "PSVersion" PSVersion 7.2.0 PS C:\>
最後に
PowerShell5.1, PowerShell7.2, どちらも「PowerShell」と呼んで間違いではないので、混乱したという話でした。「PowerShell」と呼ばれる異なるバージョンのアプリが同居している可能性を常に考えておきたい、と思った出来事でした。 本日は以上です。 2022.06.02 誤字脱字を訂正しました。