这有效:
Start-Process -FilePath "C:\Program Files\Internet Explorer\iexplore.exe"
这似乎有效:
$username = "domain\user"
$password = "password"
$cred = New-Object System.Management.Automation.PSCredential($username, $password)
但是当我跑这个时:
Start-Process -FilePath "C:\Program Files\Internet Explorer\iexplore.exe" -Credential $cred
我也试过这个,结果相同:
$iePath = "C:\Program Files\Internet Explorer\iexplore.exe"
Start-Process -FilePath $iePath -Credential $cred
当我提供iexplore.exe
的完整路径时,为什么会出现目录错误?
答案 0 :(得分:0)
我自己尝试使用
Start-Process -FilePath "notepad"
Start-Process -FilePath "C:\Program Files\Internet Explorer\iexplore.exe"
两者都按原样工作。
如果我添加-Credentials
(我自己的当前凭据),则会失败并显示错误消息The directory name is invalid
。
procmon和windbg都没有给我任何线索(我确信他们在那里使用windbg,但我无法找到它)
添加-WorkingDirectory
虽然解决了它
Start-Process -FilePath "notepad" -Credential $cred -WorkingDirectory "c:\windows\system32"
修改强>
按照WorkingDirectory的思路,我注意到我当前的工作目录是一个映射的网络驱动器(F :)。将我当前的工作目录切换到本地驱动器也解决了#34;这个问题。
PS F:\>> Start-Process -FilePath "notepad" -Credential $cred
Start-Process : This command cannot be run due to the error: The directory name is invalid.
At line:1 char:1
+ Start-Process -FilePath "notepad" -Credential $cred
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
PS F:\>> c:
PS C:\>> Start-Process -FilePath "notepad" -Credential $cred
PS C:\>>