powershell smo登录移动

时间:2014-04-16 18:09:53

标签: sql-server powershell smo

是否可以创建一个Powershell脚本,将登录从源服务器移动到目标服务器 - 包括当前密码? 我尝试使用sp_help_revlogin过程,但我无法将t-sql输出变为变量。

$handler = [System.Data.SqlClient.SqlInfoMessageEventHandler] {param($sender, $event) $LoginDes = $event.Message };
$smoSrc.connectionContext.add_InfoMessage($handler);
$smoSrc.connectionContext.executeNonQuery("EXEC master..sp_help_revlogin $dbLogin")

如果尝试使用script()方法,生成的代码会有密码字段,但不是sid值。

1 个答案:

答案 0 :(得分:1)

密码在历史上对PowerShell来说很麻烦,但如果您使用脚本方法并传入自定义ScriptingOptions对象,则可以获取SID。

$so = new-object microsoft.sqlserver.management.smo.scriptingoptions;
$so.LoginSid = $true
$login.script( $so );