J'espère que vous pourrez m'aider à résoudre un problème auquel je suis confronté. C'est long pour fournir le contexte. En bref, mon accès d'authentification Windows à une base de données SQL Server 2008 R2 échoue car il semble essayer d'accéder à la base de données en tant que «NT AUTHORITY \ ANONYMOUS LOGON» et non à l'utilisateur actuel.Connexion à SQL Server 2012 (via l'authentification Windows) via powershell Enter-PSSession
Voici mon scénario: batterie de serveurs avec plusieurs serveurs exécutant des bases de données SQL Server autonomes sur lesquelles un certain nombre de scripts PowerShell doivent être exécutés, qui se connectent aux bases de données et exécutent des requêtes basées sur les requêtes. tables de base de données. Nous échouons au login de Windows auth à la base de données (qui fonctionne bien avec SQL Server Mgmt Studio v10).
Il ressemble à ceci:
- win7pc PS C:> Enter-PSSession -ComputerName winsvr2k8r2
- [winsvr2k8r2]: PS c: \ users \ svs_acct1>
[winsvr2k8r2]: PS c: \ users \ svs_acct1> set-Location C:
- NB: il y a un répertoire de script qui fait partie du
$env:PATH
ensemble dans le profil
- NB: il y a un répertoire de script qui fait partie du
[winsvr2k8r2]: PS c: \ users \ svs_acct1>. . \ Users \ svs_acct1 \ bin \ Run-AdminTasks
sortie Script
Loading AD module ...
Setting Global Variables ...
I am user: domreff1\dbappuser
Initiating DB Connection using windows auth to: sTango @ hgr23992\atr77504
with connect string ...
Data Source=hgr23992\atr77504;Initial Catalog=sTango;Integrated Security=SSPI
erreur
Exception appelant "Open" avec l'argument "0" (s): "La connexion a échoué pour l'utilisateur 'NT AUTHORITY \ ANONYMOUS LOGON'."
à C: \ users \ svs_acct1 \ bin \ Run-AdminTasks: 21 car: 20
+ SqlConnection.open $ < < < <();
+ CategoryInfo: NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId: DotNetMethodException
Les éléments de connexion pertinents DB dans le script:
$SQLServer = "hgr23992\atr77504";
$SQLDBName = "sTango";
$SQLDBUser = [Security.Principal.WindowsIdentity]::GetCurrent().Name;
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source=$SQLServer;Initial Catalog=$SQLDBName;Integrated Security=SSPI"
$SqlConnection.open();
Je traînants dans différents postes et a essayé chaîne de connexion d'un certain nombre de façons différentes, par exemple
Data Source=$SQLServer;Initial Catalog=$SQLDBName;Integrated Security=[Yes|True|SSPI]
sans joie.
Des idées sur ce que le problème peut être et pourquoi la connexion DB semble refléter un contexte/utilisateur différent de ce que je suis en cours d'exécution du script?
Merci @marc_s pour les modifications. –
Merci marc_s pour les modifications. @Neroon, merci pour votre suggestion. J'essaie d'obtenir que les administrateurs concernés effectuent les changements de configuration requis pour permettre que cela soit testé, mais ils ne peuvent pas être autorisés à terminer cette action dans son format actuel. Si je n'arrive pas à passer les équipes d'administration et de sécurité au courant de la semaine prochaine, je chercherai une autre avenue/approche. Très apprécié –
Juste une mise à jour rapide. Je n'ai pas pu tester cela dans notre environnement actuel [politique interne ou politique, etc.] et j'ai choisi une méthode différente (lire bidouille) pour réaliser ce qui était nécessaire. –