Przeczytałem już i wypróbowałem różne sposoby, ale to po prostu nie da rady ... Próbowałem nawet uciec ze spacji, a także próbowałem dodać dodatkowe cytaty (cytaty unikane) przed ścieżką ...
$cmd = 'powershell.exe'
$dir = 'C:\Program Files (x86)\W T F'
$inner = "-NoExit -Command cd $dir"
$arguments = "Start-Process powershell -ArgumentList '$inner' -Verb RunAs"
& $cmd $arguments
Nadal daje mi to:
x86 : The term 'x86' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:22
+ cd C:\Program Files (x86)\W T F
+ ~~~
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Próbowałem z inną ścieżką, powiedzmy C:\Blah\W T F
, że nadal narzeka na przestrzenie w środku W T F
.
Edycja: Zasadniczo musiałem uruchomić elevated powershell
CD, a następnie CD do mojego katalogu, aby uruchomić skrypt poinstalacyjny. Ale mam ciężką płytę CD w moim katalogu, byłem w stanie uruchomić podwyższoną wersję PowerShell, ale zawsze tak jest c:\windows\system32
.
Edycja2:
$PSVersionTable
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.3.9600.18728
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
Edycja3:
Mam to wywołanie skryptu load-ems.ps1 (w celu załadowania powłoki Exchange Management Shell) i próbuję uruchomić tę powłokę jako podniesioną. Ale moim problemem jest to, że 1) the shell would start in system32 and won't find my scripts
,2) if i try to CD to my directory, i can't.
. ".\find-exchange.ps1"
$remoteexchangeps1 = Find-Exchange
$commands = @(
". '$remoteexchangeps1';",
"Connect-ExchangeServer -auto -ClientApplication:ManagementShell;",
".\plugin-reinstall.ps1;"
)
$command = @($commands | % {$_})
powershell.exe -noexit -command "$command"
& : The term 'C:\Program Files (x86)\W T F' is not recognized as the name of a cmdlet,
$env:ProgramFiles(x86)
.
& "C:\Program Files (x86)\W T F"
?