Question Problème de conversion Type

Plus d'informations
il y a 11 ans 2 mois #18769 par DERUY
Problème de conversion Type a été créé par DERUY
Bonjour,

Je suis entrain de réaliser un script permettant la fermeture de sessions sur des serveurs distants.

Je rencontre un problème concernant la conversion de types.

Je récupère l'ID des sessions sur le serveur avec la commande :

Get-TSSession -ComputerName $computer | Where-Object {$_.SessionId -ne 65536} | Format-List SessionID

jusqu'à pas de problème.

Ensuite, j'utilise la commande Stop-TSSession afin de déconnecter les utilisateurs du serveur distant.

Voici l'erreur que j'obtiens lorsque je veux fermer les sessions.

Impossible de convertir la valeur « System.Object[] » du type « System.Object[] » en type « System.Int32 ».

Auriez-vous une solution ?

Merci bien,

JC59

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

Plus d'informations
il y a 11 ans 2 mois #18770 par Laurent Dardenne
Salut,
jc59 écrit:

Auriez-vous une solution ?

Sans le code complet, pas évident.
L'usage des cmdlet Format-xx est dédié à l'affichage uniquement. Essaie sans utiliser Format-List.

Recherche sur le forum qui contient qq exemples qui fonctionnent.

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 2 mois #18772 par DERUY
Réponse de DERUY sur le sujet Re:Problème de conversion Type
Merci pour la réponse.

Par contre, même avec le retrait de la cmd Format-XX sa ne marche pas.

Voici mon code :

[code:1]

Import-Module PSTerminalServices
$session = Get-TSSession -ComputerName $computer | Where-Object {$_.SessionId -ne 65536} | Select SessionID
for ($i = 0; $i -le $session.Length; $i++) { Stop-TSSession ($session[$i]) }

[/code:1]

Voici l'erreur :

[code:1]

Stop-TSSession : Impossible de traiter la transformation d'argument sur le paramètre «Id». Impossible de
convertir la valeur «@{SessionId=0}» en type «System.Int32». Erreur: «Impossible de convertir la valeur «
@{SessionId=0}» du type «Selected.Cassia.Impl.TerminalServicesSession» en type «System.Int32».»

[/code:1]

Auriez-vous une idée ?

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

Plus d'informations
il y a 11 ans 2 mois #18773 par Laurent Dardenne
jc59 écrit:

Auriez-vous une idée ?

Je n'ai pas la doc sous les yeux, mais ta liaison de paramètre ne fonctionne pas ici.
Essaie ceci :
[code:1]
Get-TSSession -ComputerName $computer |
Where-Object {$_.SessionId -ne 65536} |
Stop-TSSession -Force
[/code:1]

Tutoriels PowerShell

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

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