Jestem trochę zdezorientowany tym problemem! Buduję większy skrypt i działał w ISE, ale nie w konsoli PowerShell. Udało mi się to wyśledzić do funkcji [System.Uri] :: EscapeDataString, która wydaje się zachowywać inaczej w różnych środowiskach, na przykład w mojej konsoli Power Shell() '&! nie są uciekani, gdzie jak w IDE wszyscy oni uciekli.EscapeDataString ma różne zachowanie między Powershell IDE i konsolą Powershell
Czy brakuje mi czegoś?
Mój kod testowy:
wyjście[System.Uri]::EscapeDataString("/?:@%!$&'/*+,;=()")
ISE:
wyjście%2F%3F%3A%40%25%21%24%26%27%2F%2A%2B%2C%3B%3D%28%29
PowerShell konsoli:
%2F%3F%3A%40%25!%24%26'%2F*%2B%2C%3B%3D()
Dzięki!
Co to jest wersja PowerShell. Sprawdź obie powłoki, aby upewnić się, że nie masz przełączników używanych na skrótach. _Possible_ to jest błąd, ale potrzebna jest wersja. – Matt
Powtarzalne na PowerShell 5 na Windows 10 i Windows 7. – BenH
@Matt 5.1.14393.693 To samo na obu konsolach – britcowboy