Кажется, что Invoke-Sqlcmd
(или, по крайней мере, его версия, которая у меня есть) не поддерживает Azure аутентификацию AD.
Я использовал сценарий PowerShell, подобный этому, для создания пользователей ( вам может потребоваться обновить sqlcmd ):
$query = "CREATE USER [$identityName] FROM EXTERNAL PROVIDER;"
sqlcmd -S $serverHostName -d $databaseName -G -N -U $username -t 120 -b -Q $query
Флаг -G
указывает ему использовать Azure AD-аутентификацию, в этом случае он будет использовать интерактивную аутентификацию и потребует от вас чтобы залогиниться. Насколько я помню, вы можете использовать флаги -U
и -P
, чтобы определить имя пользователя и пароль, а также для пользователя Azure AD, но это будет работать только в том случае, если у пользователя не включена MFA, и это не так. t федеративный пользователь.