如何在Powershell中以不同的用户身份打开IE窗口?

时间:2016-09-07 22:15:46

标签: powershell

这有效:

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

我明白了: ISE Error

我也试过这个,结果相同:

$iePath = "C:\Program Files\Internet Explorer\iexplore.exe"
Start-Process -FilePath $iePath -Credential $cred

当我提供iexplore.exe的完整路径时,为什么会出现目录错误?

1 个答案:

答案 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:\>>