Active-Directory

Powershell - 如何使用 ActiveDirectory 憑據開始工作

  • March 26, 2013

我的客戶使用 ActiveDirectory 控制對其數據庫的訪問。我想做以下事情:

$cred = Get-Credential
Start-Job -Credential $cred { 
   #do some stuff with the db
}

這適用於任何本地使用者,但是在 vpn 上並輸入我的 ActiveDirectory 憑據時,無法進行身份驗證。

我知道runas只有在我提供/netonly標誌時才能以 ActiveDirectory 使用者身份啟動程序(否則它不起作用)。我認為以下內容可能會有所幫助

$cred = (Get-Credential).GetNetworkCredential()

但生成的對像不能轉換為PsCredential,這是-Credential參數所採用的。

SO 上的這個問題有關,但似乎我可能一直在問錯誤的事情。

如果您嘗試執行集成安全 SQL 查詢,則可以使用模擬模組來完成。我沒有嘗試過 SQL,但是我的部落格上有一篇關於如何使用 PowerShell Impersonation Module 進行網路共享訪問的文章,我相信它與 SQL 伺服器所需的網路憑據相同(例如,與使用帶有 / 的 runas 相同)僅網路)。

如果您只是因為您認為它可以讓您更改網路訪問憑據而使用該工作,那麼只需擺脫它並使用 Push-ImpersonationContext 代替。如果您出於其他原因需要該作業,則必須在**作業中呼叫 Push-ImpersonationContext ,這意味著您必須將憑據放入作業中(可能通過序列化密碼並將其作為加密的安全字元串傳遞)。

我現在無法測試它(我沒有域,甚至沒有手邊的數據庫伺服器),所以,嗯……如果它不起作用,請告訴我;)

引用自:https://serverfault.com/questions/491120