2013-05-15 46 views
1

我可以通过传递加密密码在SQL Server 2008r2中创建SQL登录吗?我正在使用下面的代码。通过传递加密密码创建新的sql登录

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | Out-Null 
#Assign variables 
$Instance = "INHYDDPC120" 
$LoginName = "MyNewLogin" 
$Password = "ggrytyrty"#(this has to be an encrypted password) 
$DBName  = "Test_SMO_Database" 

#Get the server object 
$Server = New-Object ("Microsoft.SqlServer.Management.SMO.Server") $instance 

#Get the login object if it exists 
$Login = $Server.Logins.Item($LoginName) 

IF (!($Login)) #check to see if login already exists 
{ 
    #it doesn't, so instantiate a new login object 
    $Login = New-Object ("Microsoft.SqlServer.Management.SMO.Login") ($Server, $LoginName) 

    #make it a SQL Login 
    $Login.LoginType = [Microsoft.SqlServer.Management.Smo.LoginType]::SqlLogin 

    #Create it on the server with the specified password 

    # $Login.PolicyEnforcementenabled = $false 
# $Login.PasswordExpirationEnabled = $false 
$Login.DefaultDatabase = $DBName  
$Login.Create($Password) 

回答