私はこの問題と少し混乱しています!私はより大きなスクリプトを構築しており、ISEで動作していましたが、PowerShellのコンソールでは動作しませんでした。私は異なる環境間で異なった動作をしているように思われる[System.Uri] :: EscapeDataString関数を追跡することができました。例えば、powershell console() '&! IDEのようにエスケープされている場所でエスケープされていません。Powershell IDEとPowershellコンソールの動作が異なるEscapeDataString
何か不足していますか?
私のテストコード:
[System.Uri]::EscapeDataString("/?:@%!$&'/*+,;=()")
ISE出力:
%2F%3F%3A%40%25%21%24%26%27%2F%2A%2B%2C%3B%3D%28%29
PowerShellのコンソール出力:
%2F%3F%3A%40%25!%24%26'%2F*%2B%2C%3B%3D()
ありがとう!
あなたはPowerShellのバージョンですか?両方のシェルをチェックして、ショートカットにスイッチが使用されていないことを確認してください。 _Possible_これはバグですが、確かめるにはバージョンが必要です。 – Matt
Windows 10およびWindows 7のPowerShell 5で再現可能 – BenH
@Matt 5.1.14393.693両方のコンソールで同じ – britcowboy