是否可以创建一个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值。
答案 0 :(得分:1)
密码在历史上对PowerShell来说很麻烦,但如果您使用脚本方法并传入自定义ScriptingOptions对象,则可以获取SID。
$so = new-object microsoft.sqlserver.management.smo.scriptingoptions;
$so.LoginSid = $true
$login.script( $so );