Question
lancer command droit admin
- brutosaure
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 59
- Remerciements reçus 0
J'ai installé et importé ce module, mais apparement il ne gère pas le credential.
J'aimerais lancer cette commande depuis ma session user \"normal\" avec les droits admin, sans pour cela devoir ouvir un powershell avec un runas.
[code:1]Get-TSSession -State Active -ComputerName server | Send-TSMessage -text test -caption alert[/code:1]
Car je n'ai pas les droit depuis mon account normal pour envoyer un message ou même déconnecter un user de sa session rdp.
Je me suis orienté vers
[code:1]$command=\"(Get-TSSession -State Active -ComputerName server | Send-TSMessage -text test -caption alert)\"
invoke-command -credential monuser -Computername localhost -Scriptblock {Invoke-Expression -command $command }
[/code:1]
Mais j'ai un message d'erreur concernant winrm, disant que je dois l'activer.
J'ai pas envie d'activer ce service sur ma machine de travail.
J'ai essayé du côté de la commande su, mais ca ouvre simplement une nouvelle session, ce qui m'intéresse pas, vu que j'ai envie de créer un script.
Je ne peux pas utiliser les import credential, car le module ne gère pas le credential.
Quelqu'un aurait-il une solution?
Merci<br><br>Message édité par: brutosaure, à: 17/05/10 15:07
Connexion ou Créer un compte pour participer à la conversation.
- brutosaure
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 59
- Remerciements reçus 0
[code:1]
$command=\"(Get-TSSession -State Active -ComputerName server | Send-TSMessage -text test)\"
Invoke-Command -credential mon_user -computername localhost -Scriptblock
{param($ParaCommand) Invoke-Expression -command $ParaCommand } -ArgumentList $Command[/code:1]
J'ai ceci comme erreur
[code:1]The term 'Get-TSSession' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spellin
g of the name, or if a path was included, verify that the path is correct and try again.
+ CategoryInfo : ObjectNotFound: (Get-TSSession:«»String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException[/code:1]
Donc je suppose que c'est le import-module qui est pas bon vu que je lance ma ligne et qu'après je fais appel à un autre user, il faut que je fasse le import-module pour ce user, mais quand j'intègre mon appel de module, cela ne va pas
[code:1]$command=\"(import-module PSTerminalServices; Get-TSSession -State Active -ComputerName server | Send-TSMessage -text test)\"
Invoke-Command -credential \"user\" -computername localhost -Scriptblock {param($ParaCommand) Invoke-Expression -command $ParaCommand } -ArgumentList $Command
Missing closing ')' in expression.
+ CategoryInfo : ParserError: (CloseParenToken:TokenId) [Invoke-Expression], ParseException
+ FullyQualifiedErrorId : MissingEndParenthesisInExpression,Microsoft.PowerShell.Commands.InvokeExpressionCommand
[/code:1]
donc je rame lol
Message édité par: brutosaure, à: 17/05/10 15:15<br><br>Message édité par: brutosaure, à: 17/05/10 15:33
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Le mieux est d'utiliser la voile en contactant l'auteur directementdonc je rame lol
Bugs/Suggestions
Bugs related to Cassia can be reported directly to its mailing list: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.. Module Bugs/Suggestions/Comments can be reported to the module Discussions page.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- brutosaure
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 59
- Remerciements reçus 0
Le seul problème c'est qu'on ne peut lancer qu'un block
[code:1]invoke-command -credential $user -ComputerName localhost -scriptblock {param($paraServerName) get-command -module PSTerminalServices} -ArgumentList $serverName[/code:1] ca passe.
Mais si je fais comme ceci, ca fonctionne pas
[code:1]invoke-command -credential $user -ComputerName localhost -scriptblock {param($paraServerName) get-command -module PSTerminalServices; Get-TSSession -State Active -ComputerName $paraServerName} -ArgumentList $serverName[/code:1]
J'ai donc essayé de cette manière
[code:1]
invoke-command -credential $user -ComputerName localhost -scriptblock {param($paraServerName) get-command -module PSTerminalServices} -ArgumentList $serverName
invoke-command -credential $user -ComputerName localhost -scriptblock {param($paraServerName) Get-TSSession -State Active -ComputerName $paraServerName} -ArgumentList $serverName
[/code:1]
Mais il ne veut pas, le prob c'est que je dois importer mon module avant de lancer la commande Get-TSSession.
Même en modifiant et rajoutant import-module Get-TSSession dans le fichier profile.ps1 de mon $user ca ne passe pas.
Est-ce possible de lancer deux commande l'une à la suite de l'autre avec invoke-command sans qu'une nouvelle session soit créée?<br><br>Message édité par: brutosaure, à: 20/05/10 10:08
Connexion ou Créer un compte pour participer à la conversation.
- brutosaure
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 59
- Remerciements reçus 0
Car cela ouvre une nouvelle session powershell alors que j'aimerais que l'affichage ce fasse dans ma session actuelle ou depuis mon éditeur powershell_ise
Mais bon, c'est déjà mieux que rien.
[code:1]Start-Process \"$psHome\powershell.exe\" -credential domaine\mon_user -Arguments \"-noexit -command import-module PSTerminalServices; Get-TSSession -State Active -ComputerName $servername\"[/code:1]
Si quelqu'un à une autre solution je suis preneur
Message édité par: brutosaure, à: 20/05/10 10:29<br><br>Message édité par: brutosaure, à: 20/05/10 10:58
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
brutosaure écrit:
C'est normal.Mais il ne veut pas, le prob c'est que je dois importer mon module avant de lancer la commande Get-TSSession.
brutosaure écrit:
Je ne pense pas qu'il y ait un chargement de profile utilisateur PowerShell, puisque dans ces conditions le process exécuté sur le distant n'est pas PowerShell.exe mais un autre process hébergeant le runtime PowerShell.Même en modifiant et rajoutant import-module Get-TSSession dans le fichier profile.ps1 de mon $user ca ne passe pas.
Faudrait analyser son exécution sur le distant avec Filemonitor pour en être certain.
brutosaure écrit:
Oui, il faut utiliser une session persistante, voir le cmdlet New-PSSession.Est-ce possible de lancer deux commande l'une à la suite de l'autre avec invoke-command sans qu'une nouvelle session soit créée?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- lancer command droit admin