Показать сообщение отдельно
Старый 06.09.2017, 14:18   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ну так-то я тоже нашел инструкцию
https://blogs.technet.microsoft.com/...rver-now-what/

В общем понятно, что это баг. Спасибо.

Запишу сюда до кучи скрипт Powershell, найденный на просторах интернета по добавлению текущего пользователя в роль sysadmin:
PHP код:
#GITHUB Link : https://github.com/codykonior/HackSql
$userName = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

$services 
Get-Service Where { ($_.Name -eq 'MSSQLSERVER' -or $_.Name -like 'MSSQL$*') -and $_.Status -eq "Running" }
foreach (
$service in $services) {
    if (
$service.Name -eq "MSSQLSERVER") {
        
$sqlName ".\"
    } else {
        
$sqlName = ".\$($service.Name.Substring(6))"
    }

    Write-Host "
Attempting $sqlName"
    
$serviceProcess = Get-WmiObject -Class Win32_Service -Filter "Name '$($service.Name)'"

    Invoke-TokenManipulation -ProcessId 
$serviceProcess.ProcessID -ImpersonateUser | Out-Null
    
$impersonatedUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
    Write-Host "
Service $($service.Nameon PID $($serviceProcess.ProcessIDwill connect to $sqlName as $impersonatedUser"

    
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection("Data Source=$sqlName;Trusted_Connection=True")
    
$sqlConnection.Open()
    
$sqlCommand = New-Object System.Data.SqlClient.SqlCommand("If Not Exists (Select Top 1 0 From sys.server_principals Where name '$userName')
Begin
    Create Login 
[$userNameFrom Windows
End

If Not Exists (Select Top 1 0 From master.sys.server_principals sp Join master.sys.server_role_members srp On sp.principal_id srp.member_principal_id Join master.sys.server_principals spr On srp.role_principal_id spr.principal_id Where sp.name '$userName' And spr.name 'sysadmin')
Begin
    Exec sp_addsrvrolemember 
'$userName''sysadmin'
End", $sqlConnection)
    
$sqlCommand.ExecuteNonQuery() | Out-Null
    
$sqlConnection.Close()
    Invoke-TokenManipulation -RevToSelf | Out-Null

__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 06.09.2017 в 14:20.
За это сообщение автора поблагодарили: mazzy (2), MikeR (2), Logger (3), MarinaAX (1), IvanS (1).