
我有一個可以在遠端 Windows 電腦上執行 powershell 腳本的應用程式。我正在嘗試使用 powershell 腳本來映射網路磁碟機。當在端點執行相同的腳本時,腳本可以正常工作並且能夠映射網路磁碟機。但是,當從我的應用程式執行相同的腳本時,映射網路磁碟機已完成,但作為斷開的網路磁碟機。
現在,我的觀察:我發現我的應用程式正在使用NT Authority\System
帳戶執行腳本。可能正因為如此,映射的網路磁碟機對於特定使用者來說是可見的,作為斷開連接的磁碟機。我對麼! !
現在,問題是:我可以做什麼來映射可供所有用戶使用的網路磁碟機?或者我可以以特定使用者身分執行我的 powershell 腳本,以便磁碟機僅對應到該使用者嗎?
無論如何,我已經嘗試使用 和 ,以與我的應用程式不同的用戶身份運行我的 powershell 腳本Start-Process
,Invoke-Command
它會拋出一個錯誤,說 runwinrm quickconfig
也不起作用。
有什麼幫助嗎?讚賞!
答案1
從NT Authority\System
驅動器映射時將顯示為已斷開連接,但它應該可以工作:映射服務使用的網路驅動器
注意:新建立的映射驅動器現在將顯示給該系統的所有用戶,但他們會看到它顯示為「已斷開的網路磁碟機 (Z:)」。不要讓這個名字欺騙你。它可能聲稱已斷開連接,但它適用於所有人。
此外,使用映射驅動器NT Authority\System
是使網路驅動器可供所有用戶使用的唯一(儘管沒有官方支援)方法。
如果您想為特定使用者對應驅動器,您必須以不同使用者身分執行 PowerShell。但這也意味著您必須獲得該用戶的憑證。
這可以透過令牌操作來緩解,但這很棘手。看呼叫令牌操作函數及其ImpersonateUser
參數。