ログイン用の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