Vous essayez d'obtenir un ServerPermissionSet pour un login et l'appliquer à un nouveau login. Impossible de comprendre s'il existe une relation entre ServerPermissionSet et Server.Login ou s'il existe une meilleure façon de procéder. Je peux le faire avec TSQL, mais j'essaie de regarder cela du point de vue SMO. Voici un code sudo sur ce que j'essaie d'accomplir.SMO: obtention de l'autorisation serveur définie pour un login (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")
Pourquoi pas tsql? Pouvez-vous exécuter n'importe quel code tsql pour faire votre logique et utiliser 'Invoke-Sqlcmd' pour obtenir le résultat? – arjabbar