2015-05-21 56 views
0

我在PowerShell Studio中爲我們的IT服務檯人員編寫了一個GUI。此GUI應用程序在Citrix中發佈並使用其管理員憑據打開。在應用程序中有一個按鈕來查詢用戶的主文件夾的活動目錄。此文件夾只能使用提供的管理員憑據打開才能啓動應用程序。PowerShell作爲其他用戶打開共享文件夾

$linklabelTSHomeFolder_Click = { 
    Start-Process $linklabelTSHomeFolder.Text 
} 

這將打開資源管理器,並說該位置不能被發現。但是,我懷疑,打開資源管理器打開自己目前的憑證,而不是管理員的。

當提供正確的憑據測試我不能讓資源管理器打開目標股:

Start-Process -FilePath 'C:\Windows\explorer.exe' -ArgumentList $linklabelTSHomeFolder.Text -Credential $Credentials 
Start-Process -FilePath 'C:\Windows\explorer.exe' -ArgumentList $linklabelTSHomeFolder.Text -Credential $Credentials -Verb runas 
Start-Process -FilePath 'C:\Windows\explorer.exe' -ArgumentList $linklabelTSHomeFolder.Text -Credential $Credentials -Verb runas -LoadUserProfile -WorkingDirectory 'C:\Windows\System32' 

我已經試過所有的一切,但我不能把它打開。

即使我嘗試在PowerShell ISE的本地工作站上使用我的普通憑據運行它,並提供CmdLet管理員憑據,但它不會吐出錯誤,也不會顯示資源管理器。只有當我刪除零件-Credential $Credentials它確實打開資源管理器或吐出一個錯誤。

謝謝你的幫助。

回答

1

由於Vista,Windows不允許用不同於當前用戶的用戶打開資源管理器窗口。 runas功能已被刪除。有關更多信息,請參見here

Shift +右鍵單擊和Run as different user(僅GUI)仍然有效。

然而,有一種變通方法來訪問與其他用戶共享,但涉及與註冊表搞亂:

$regKey ="HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\advanced" 
$user = $env:username 
$domain = $env:userdomain 
Set-ItemProperty -Path $regKey -Name SeparateProcess -Value 1 
net use \\$args\c$ /user:$domain\$user 
explorer.exe \\$args\c$ 
+0

謝謝Rubanov,在這種情況下,我就用另一[工具](https://開頭explorerplusplus.com/)打開分享。 – DarkLite1

相關問題