FaFu198 0 Geschrieben 1. August 2019 Melden Teilen Geschrieben 1. August 2019 Hallo zusammen, ich möchte folgendes Skripten. Über ein Invoke-Command bauen ich mittels Schleife eine Verbindung zu einem Server auf und will von dort aus einen Befehl ausführen. Auf dem jeweiligen Server soll ein Wert ausgelesen werden und in eine MSSQL Datenbank geschrieben werden. Führe ich mein Skript lokal aus, bekomme ich keinen Fehler. Führe ich es Remote aus, will er trotz Username und PW Angabe eine Verbindung als Anonymous aufbauen. Könnt ihr mir sagen, wie ich das besser realisieren kann. *Ich könnte den Wert in eine Variable schreiben und wieder zurück geben, aber ich möchte gerne diese Variante einmal testen. $Result = Invoke-Command -ComputerName $ClusterHostObjekt{ $ClusterObjekt_Invoke = $using:ClusterObjekt.Name $ClusterHostObjekt_Invoke = $using:ClusterHostObjekt $datum = $using:datum # Aufbau DB Verbindung $DBServer = "DB_Server.test.net" $Connection = New-Object System.Data.SQLClient.SQLConnection $Connection.ConnectionString = "User ID=sa;Password=PASSWORD;server='$DBServer';trusted_connection=true;" $Connection.Open() $Command = New-Object System.Data.SQLClient.SQLCommand $Command.Connection = $Connection $Connection.Close() } In diesem Skript will ich nur eine Verbindung aufbauen und wieder schließen. Leider kommt dann diese Meldung Ausnahme beim Aufrufen von "Open" mit 0 Argument(en): "Fehler bei der Anmeldung für den Benutzer "NT-AUTORITÄT\ANONYMOUS-ANMELDUNG"." Vielleicht kennt jemand die Lösung Vielen Dank MfG Sebastian Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 1. August 2019 Melden Teilen Geschrieben 1. August 2019 https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-string-syntax Mit Trusted_Connection versuchst du eine Windows Anmeldung. Du übergibst aber die SQL User Credentials. Entweder das eine oder das andere. Remote hat er aber für die Windows Anmeldung keine Credentials. Hierfür würdest du CredSSD brauchen, was man aber aus Security Sicht nicht möchte (hier laden die Credentials auf dem Zielsystem). Zitieren Link zu diesem Kommentar
FaFu198 0 Geschrieben 2. August 2019 Autor Melden Teilen Geschrieben 2. August 2019 Hallo, vielen Dank für die Antwort. Wenn ich den User sa nicht mit angebe, habe ich immer noch die Fehlermeldung. $Connection.ConnectionString = "server='$DBServer';trusted_connection=true;Integrated Security=SSPI" Was genau muss ich machen, damit der User, mit dem ich das Skript starte übergeben wird? Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 2. August 2019 Melden Teilen Geschrieben 2. August 2019 Wenn du dich mi dem user Authentifizieren willst, dann lass das Trusted_connection weg. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.