Question invoke-command avec -argumentlist

Plus d'informations
il y a 10 ans 3 mois #12496 par marc
Bonjour,
J'ai des difficultés avec un script plutôt simple.
Je pense que c'est un problème de syntaxe...

Voici mon script :

[code:1]$tLogin = \"monlogin\"


$user = \"domain\monuser\"
$password = ConvertTo-SecureString \"monpassword\" -AsPlainText -Force
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ($user,$password)



Invoke-command -ConfigurationName Microsoft.Exchange -ConnectionUri http://exch-01/PowerShell/ -credential $credentials -ArgumentList ($tLogin) -scriptblock{
param($tLogin)
Set-ADServerSettings -ViewEntireForest $true
get-user -domaincontroller \"dc.lan.net\" -identity $tLogin}
[/code:1]

L'erreur renvoyé est :
[code:1]Un bloc d'instruction Begin ou Process ou une instruction parameter n'est pas autorisé dans une section Data.
+ CategoryInfo : ParserError: (:«») [], ParseException
+ FullyQualifiedErrorId : InvalidScriptBlockInDataSection[/code:1]

En mettant l'argument tLogin \"en dur\", ca fonctionne bien.
Pouvez vous m'aiguiller sur mon erreur ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #12500 par Matthew BETTON
Bonjour,

Sur le technet , voir les exemples 12 et 13.

Sur le forum du Social Technet , voir la réponse de MichalGajda - MVP (validée par Microsoft Contingent Staff - Moderator)
notamment la seconde ligne :

[code:1]Invoke-Command -ConfigurationName Microsoft.Exchange `
-ConnectionUri your.ex.server.com/PowerShell/ `
-Authentication Kerberos
-ScriptBlock { param($line)
Get-Mailbox -Identity $line.Name
} -ArgumentList $line | Out-Host
[/code:1]

A moins que je ne me trompe, je ne vois pas d'erreur de syntaxe dans ton code ...

Et même si je n'ai pas de serveur Exchange sous la main, je n'ai pas d'erreur de ce type à l'exécution de ton code.

Le code que tu postes est-il complet ?

@ +

Matthew<br><br>Message édité par: Matthew BETTON, à: 9/08/12 17:33

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #12513 par marc
Réponse de marc sur le sujet Re:invoke-command avec -argumentlist
Oui le script est complet
Si je mets les commandes une par une, ca fonctionne ...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #12517 par Matthew BETTON
Une solution à tester, en modifiant la ligne correspondant à la Cmdlet Invoke-Command (on n'utilise pas 'param') :

[code:1]Invoke-Command -ConfigurationName Microsoft.Exchange -ConnectionUri http://exch-01/PowerShell/ -credential $credentials -ScriptBlock { Set-ADServerSettings -ViewEntireForest $true ; Get-User -domaincontroller \"dc.lan.net\" -identity $args[0] } -ArgumentList $tLogin
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.068 secondes
Propulsé par Kunena