Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Can you help me please, Screen Create User Powershell

$
0
0

I need to create logins, passwords and permissions in SQL, GUI via Powershell.

my code is lost in the line 139.

If ($objTextBox.Text -eq '' -and $objTextBox2.Text -eq '' -and $objTextBox3.Text -eq '' -and $objTextBox4.Text -eq '' -and $procName.Checked -eq '' -and $procName2.Checked -eq '' -and $procName3.Checked -eq '' ) 

And does not create the login on SQL Server, you can be?

[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null 
$x = @() 
$Form = New-Object System.Windows.Forms.Form 
$Form.Text = "Administração de usuarios SQLServer" 
$Form.Size = New-Object System.Drawing.Size(800,600) 
$Form.StartPosition = "CenterScreen" 
#$Form.controls.add() 
#$Form.Add_Shown({$Form.Activate()}) 
#$Form.ShowDialog() 


$Form.KeyPreview = $True 
$Form.Add_KeyDown({if ($_.KeyCode -eq "Enter") 
    {$x=$objTextBox.Text;$Form.Close()}}) 
$Form.Add_KeyDown({if ($_.KeyCode -eq "Escape") 
    {$Form.Close()}}) 

#nova ver ponteiro no primeiro campo 
#$Form.Cursor=[System.Windows.Forms.Cursors]::WaitCursor 
[System.Windows.Forms.Application]::UseWaitCursor=$false 


$OKButton = New-Object System.Windows.Forms.Button 
$OKButton.Location = New-Object System.Drawing.Size(65,460) 
$OKButton.Size = New-Object System.Drawing.Size(75,23) 
$OKButton.Text = "OK" 
$OKButton.Add_Click({$x=$objTextBox.Text,$objTextBox2.Text,$objTextBox3.Text,$objTextBox4.Text,$procName.Checked,$procName2.Checked,$procName3.Checked;$Form.Close()})
$Form.Controls.Add($OKButton) 


$CancelButton = New-Object System.Windows.Forms.Button 
$CancelButton.Location = New-Object System.Drawing.Size(150,460) 
$CancelButton.Size = New-Object System.Drawing.Size(75,23) 
$CancelButton.Text = "Cancel" 
$CancelButton.Add_Click({$Form.Close()}) 
$Form.Controls.Add($CancelButton) 


$objLabel = New-Object System.Windows.Forms.Label 
#$objLabel.DataBindings.DefaultDataSourceUpdateMode = 0 
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(280,20) 
$objLabel.Text = "Server:" 
$Form.Controls.Add($objLabel) 


$objTextBox = New-Object System.Windows.Forms.TextBox 
$objTextBox.DataBindings.DefaultDataSourceUpdateMode = 0 
$objTextBox.Location = New-Object System.Drawing.Size(10,40) 
$objTextBox.Size = New-Object System.Drawing.Size(260,20) 
$objTextBox.Name="ServerName" 
$objTextBox.TabIndex = 0 
$Form.Controls.Add($objTextBox) 


$objLabel2 = New-Object System.Windows.Forms.Label 
$objLabel2.Location = New-Object System.Drawing.Size(10,70) 
$objLabel2.Size = New-Object System.Drawing.Size(260,20) 
$objLabel2.Text = "Database:" 
$Form.Controls.Add($objLabel2) 


$objTextBox2 = New-Object System.Windows.Forms.TextBox 
$objTextBox2.Location = New-Object System.Drawing.Size(10,90) 
$objTextBox2.Size = New-Object System.Drawing.Size(260,20) 
$objTextBox2.Name="Base Name" 
$objTextBox2.TabIndex = 0 
$Form.Controls.Add($objTextBox2) 


$objLabel3 = New-Object System.Windows.Forms.Label 
$objLabel3.Location = New-Object System.Drawing.Size(10,120) 
$objLabel3.Size = New-Object System.Drawing.Size(260,20) 
$objLabel3.Text = "User:" 
$Form.Controls.Add($objLabel3) 


$objTextBox3 = New-Object System.Windows.Forms.TextBox 
$objTextBox3.Location = New-Object System.Drawing.Size(10,140) 
$objTextBox3.Size = New-Object System.Drawing.Size(260,20) 
$objTextBox3.name="User" 
$objTextBox3.TabIndex = 0 
$Form.Controls.Add($objTextBox3) 


$objLabel4 = New-Object System.Windows.Forms.Label 
$objLabel4.Location = New-Object System.Drawing.Size(350,120) 
$objLabel4.Size = New-Object System.Drawing.Size(260,20) 
$objLabel4.Text = "Password:" 
$Form.Controls.Add($objLabel4) 


$objTextBox4 = New-Object System.Windows.Forms.TextBox 
$objTextBox4.Location = New-Object System.Drawing.Size(350,140) 
$objTextBox4.Size = New-Object System.Drawing.Size(260,20) 
$objTextBox4.name="Pass" 
$objTextBox4.TabIndex = 0 
$Form.Controls.Add($objTextBox4) 


$groupBox = New-Object System.Windows.Forms.GroupBox 
$groupBox.Location = New-Object System.Drawing.Size(10,190) 
$groupBox.size = New-Object System.Drawing.Size(755,200) 
$groupBox.Text = "Permissões e acessos Database:" 
$Form.Controls.Add($groupBox) 


$procName = New-Object System.Windows.Forms.checkbox 
$procName.Location = New-Object System.Drawing.Size(10,40) 
$procName.Size = New-Object System.Drawing.Size(100,20) 
$procName.Checked = $false 
$procName.Text = "Read" 
$procName.TabIndex = 0 
$groupBox.Controls.Add($procName) 


$procName2 = New-Object System.Windows.Forms.checkbox 
$procName2.Location = New-Object System.Drawing.Size(270,40) 
$procName2.Size = New-Object System.Drawing.Size(100,20) 
$procName2.Checked = $false 
$procName2.Text = "Write" 
$procName2.TabIndex = 0 
$groupBox.Controls.Add($procName2) 


$procName3 = New-Object System.Windows.Forms.checkbox 
$procName3.Location = New-Object System.Drawing.Size(550,40) 
$procName3.Size = New-Object System.Drawing.Size(100,20) 
$procName3.Checked = $false 
$procName3.Text = "Alter" 
$procName3.TabIndex = 0 
$groupBox.Controls.Add($procName3) 


If ($objTextBox.Text -eq '' -and $objTextBox2.Text -eq '' -and $objTextBox3.Text -eq '' -and $objTextBox4.Text -eq '' -and $procName.Checked -eq '' -and $procName2.Checked -eq '' -and $procName3.Checked -eq '' ) 




Else 

$objForm.Cursor=[System.Windows.Forms.Cursors]::WaitCursor 

$Instance = $objTextBox.Text 
$DBName = $objTextBox2.Text 
$LoginName = $objTextBox3.Text 
$Password = $objTextBox4.Text 

$bb=$Instance 
$bb 
$bb 

$Server = New-Object ("Microsoft.SqlServer.Management.SMO.Server") $instance 

#Recebi login pra ver se exist. 
$Login = $Server.Logins.Item($LoginName) 

IF (!($Login))  #check se é existente. 

    #Caso não existir é criado um novo login 
    $Login = New-Object ("Microsoft.SqlServer.Management.SMO.Login") ($Server, $LoginName)   
    $Login.LoginType = [Microsoft.SqlServer.Management.Smo.LoginType]::SqlLogin 
    $Login.Create($Password) 


$DB = $Server.Databases[$DBName] 
$User = $DB.Users[$LoginName] 




if (!($User)) # check se usuário é existente. 

    #Se não Add. 
    $User = New-Object ("Microsoft.SqlServer.Management.SMO.User") ($DB, $LoginName) 
    $User.Login = $LoginName 
    $User.Create() 

    IF ($procName.Checked -eq $true) 

    $Role_Leitura="db_datareader" 

    $dbrole = $DB.Roles[$Role_Leitura]   
    $dbrole.AddMember($user.Name) 
    $dbrole.Alter() 
    Write-Host("User $user adicionado com sucesso para $Role_Leitura.") 

Else{ 

}

IF ($procName2.Checked -eq $true) 

    $Role_Gravacao ="db_datawriter" 

    $dbrole2 = $DB.Roles[$Role_Gravacao] 
    $dbrole2.AddMember($user.Name) 
    $dbrole2.Alter() 
    Write-Host("User $user adicionado com sucesso para $Role_Gravacao.") 

Else { 





IF ($procName3.Checked -eq $true) 

    $Role_Modificacao ="db_owner" 

        $dbrole3 = $DB.Roles[$Role_Modificacao] 
    $dbrole3.AddMember($user.Name) 
    $dbrole3.Alter() 
    Write-Host("User $user adicionado com sucesso para $Role_Modificacao.") 

Else { 

  } 

}
$Form.Topmost = $True 

$Form.Add_Shown({$Form.Activate()}) 
[void] $Form.ShowDialog() 


$x 

                             

Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>