Powershell PS-Remoting SQL
Wird das nicht so übergeben? Ich hab noch andere Varianten probiert aber hauptproblem ist, dass meine lokale Funktion nicht übergeben wird.
Function SQL{...}
Invoke-Command -ComputerName "$TargetServer" -scriptblock {
$($Args) $($Args[1]) $($Args[2]) $($Args[3]) $($Args[4]) $($Args[5])
} -Credential $cred -ArgumentList $(SQL), $SQLQuery, $TargetServer, $TargetDatabase, $username, $password
In C:\Test.ps1:54 Zeichen:7
+ param($($Args), $($Args[1]), $($Args[2]), $($Args[3]), $($Args[4]),
$($Args[5 ...
+ ~
")" fehlt in Funktionsparameterliste.
In C:\Test.ps1:55 Zeichen:13
+ $($Args[0]) $($Args[1]) $($Args[2]) $($Args[3]) $($Args[4]) $($Args[5])
+ ~~
Unerwartetes Token "$(" in Ausdruck oder Anweisung.
In C:\Test.ps1:55 Zeichen:25
+ $($Args) $($Args[1]) $($Args[2]) $($Args[3]) $($Args[4]) $($Args[5])
+ ~~
Unerwartetes Token "$(" in Ausdruck oder Anweisung.
In C:\Test.ps1:55 Zeichen:37
+ $($Args) $($Args[1]) $($Args[2]) $($Args[3]) $($Args[4]) $($Args[5])
+ ~~
Unerwartetes Token "$(" in Ausdruck oder Anweisung.
In C:\Test.ps1:55 Zeichen:49
+ $($Args) $($Args[1]) $($Args[2]) $($Args[3]) $($Args[4]) $($Args[5])
+ ~~
Unerwartetes Token "$(" in Ausdruck oder Anweisung.
In C:\Test.ps1:55 Zeichen:61
+ $($Args) $($Args[1]) $($Args[2]) $($Args[3]) $($Args[4]) $($Args[5])
+ ~~
Unerwartetes Token "$(" in Ausdruck oder Anweisung.
+ CategoryInfo : ParserError: (:) , ParseException
+ FullyQualifiedErrorId : MissingEndParenthesisInFunctionParameterList
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 266536
Url: https://administrator.de/forum/powershell-ps-remoting-sql-266536.html
Ausgedruckt am: 03.04.2025 um 04:04 Uhr
8 Kommentare
Neuester Kommentar
Moin erstmal,
du musst eine Instanz der Funktion übergeben keine Aufruf dieser. Das macht man so:
Als Argumente übergibst du alle für die Function "SQL" benötigten.
Grüße Uwe
-edit- Fehler korrigiert ...
du musst eine Instanz der Funktion übergeben keine Aufruf dieser. Das macht man so:
Invoke-Command -ComputerName "$TargetServer" -scriptblock ${function:SQL} -Credential $cred -ArgumentList $SQLQuery, $TargetServer, $TargetDatabase, $username, $password
Grüße Uwe
-edit- Fehler korrigiert ...
Zitat von @Marabunta:
ok. gehen wir davon aus das skript ist ok. Was müsste auf dem mssql server eingestellt sein, damit das sauber läuft?
Hier fehlen mir mal wieder die Grundlegenden Infos :ok. gehen wir davon aus das skript ist ok. Was müsste auf dem mssql server eingestellt sein, damit das sauber läuft?
- OS
- MS-SQL-Server Version
Ist für den Benutzer überhaupt eine passende SQL-Anmeldung angelegt ? Das wird gerne vergessen...
Das wurde von mir hier schonmal ausführlich erläutert:
SQL Server 2008 Berechtigungen