0
servername, userid 및 역할 정보를 저장하는 server1에 테이블 (t1)이있는 작업을 수행하고 있습니다.원격 서버에서 SQL Server 역할 부여
나는 server1에서 실행하기 위해 PowerShell 스크립트를 만들고, 테이블에서이 정보를 수집하고, 원격 서버 (servername)에 연결하고, 요청 된 역할을 userid에 부여합니다.
아래의 스크립트를 찾아주세요 : 위의 코드를 실행하는 동안
$SQLServer = "Server1"
$SQLDatabase = "Db1"
$user = "select userid from T1"
$role = "select access from T1"
$server1 = "Select servername from T1"
<#store the table information in a text file for auditing#>
$Sqlquery = "Select servername,userid,access from T1"
$Test = Invoke-SQLCMD -Query $SqlQuery -serverinstance $SQLServer -Database
$SQLDatabase
$Test | format-list servername,userid,access| out-file "G:\EP\test.txt"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $Server1; Integrated Security =
True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$sqlSrv = New-Object 'Microsoft.SqlServer.Management.Smo.Server'
"SQLServer\Instance"
foreach ($login in $user)
{
$login.AddToRole($role)
}
$SqlConnection.Close()
을, 나는 다음과 같은 오류를 참조하십시오
Method invocation failed because [System.String] does not contain a method named 'AddToRole'.
죄송합니다. 문제가 해결되었지만 스크립트가 너무 길어 1180자를 초과하므로 여기에서 공유 할 수 없습니다. –