嘗試獲取ServerPermissionSet以進行登錄並將其應用於新登錄。似乎無法理解ServerPermissionSet和Server.Login之間是否存在關係,或者是否有更好的方法來執行此操作。我可以用tSQL做到這一點,但我試圖從SMO的角度來看待這個問題。這是我想要完成的一些sudo代碼。SMO:獲取登錄服務器權限(ServerPermissionSet)
$server = new-object ('Microsoft.SqlServer.Management.Smo.Server')
"my_server"
$sps = new-object -TypeName
Microsoft.SqlServer.Management.SMO.ServerPermissionSet
$newlogin = new-object ('Microsoft.SqlServer.Management.Smo.Login') $Server,
"new_login"
$oldlogin = $server.Logins["old_login"]
// THIS PART OBVIOUSLY DOESN'T WORK
$newlogin.Create("password")
$sps = $oldlogin.ServerPermissionSet
$server.Grant($sps,"new_login")
爲什麼不tsql?你可以運行任何tsql代碼來執行你的邏輯並使用'Invoke-Sqlcmd'來獲得結果嗎? – arjabbar