Question
Lancer un executable avec des paramètres
- bruno
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 10 ans 5 mois #20825
par bruno
Lancer un executable avec des paramètres a été créé par bruno
Bonjour à tous,
De temps à autre, j'ai besoin d'utiliser ou d'exploiter des scripts que des gens ont développés.
J'ai trouvé un script pour un environnement Citrix, mais celui-ci ne fonctionne pas. J'ai essayé certaines choses que j'ai pu trouvées sur Internet, mais je n'y arrive pas.
Ce qui bloque:
[code:1]
$FilePath = “c:\scripts\output.txt”
udadmin.exe -list -f \"XDT_ENT_UD\" | Select-String \"XDT_ENT_UD 2016.0310\" | out-file $FilePath
[/code:1]
Le script est dans le path de l'exe, mais il semble utiliser le path par défaut de Windows.
J'ai essayé ça:
[code:1]
$FilePath = \"c:\tools\output.txt\"
$PathScript = Get-ScriptDirectory \"\\"
#Write-Output $PathScript
function Get-ScriptDirectory
{
Split-Path $script:MyInvocation.MyCommand.Path
}
Set-Location $PathScript
[/code:1]
Ce qui semble fonctionner mais après mon problème est sur les paramètres qui sont mal passés à l'exe. J'ai essayé en fonction des erreurs rencontrées de tripler les quotes, de passer des variables, etc.
Si quelqu'un pouvait me guider sur ce point, ce serait sympathique.
Je vous mets le script dans sa totalité:
[code:1]
# Script Name: UdadminReset.ps1
# Description: Script to release Citrix licenses
# support.citrix.com/proddocs/topic/licens...s-user-device-r.html
#
# Notes:
# 1. This script is scheduled to run thru Windows Task Scheduler
# 2. C:\Program Files (x86)\Citrix\Licensing\LS has been included in the “Path” system variable so udadmin.exe can be called without full path
#=================================================================================================================
#get used licenses
$FilePath = “c:\scripts\output.txt”
udadmin.exe -list -f “XDT_PLT_UD” | Select-String “XDT_PLT_UD 2016.0310” | out-file $FilePath
#remove excess and get license to delete
$Licenses = (Select-String -Pattern “XDT” -Path $FilePath ) | ForEach {$_.line -replace ” XDT_PLT_UD 2016.0310 “,”” }
#$Licenses = (Get-Content $FilePath ) | Select-String -Pattern “XDT” | ForEach {$_.line -replace ” XDT_PLT_UD 2016.0310 “,”” }
#Use udadmin to release licenses
ForEach ($Lic in $Licenses) {
#Write-Host Reset the following user: $Lic
udadmin.exe -f XDT_PLT_UD -user $Lic -delete
}
# restart Licensing service
$svc = (Get-Service -DisplayName “Citrix Licensing”)
Restart-Service -InputObject $svc -verbose
#*********************************************************************
#End Of Script
#*********************************************************************
Exit
[/code:1]<br><br>Message édité par: netgus, à: 6/10/15 15:16
De temps à autre, j'ai besoin d'utiliser ou d'exploiter des scripts que des gens ont développés.
J'ai trouvé un script pour un environnement Citrix, mais celui-ci ne fonctionne pas. J'ai essayé certaines choses que j'ai pu trouvées sur Internet, mais je n'y arrive pas.
Ce qui bloque:
[code:1]
$FilePath = “c:\scripts\output.txt”
udadmin.exe -list -f \"XDT_ENT_UD\" | Select-String \"XDT_ENT_UD 2016.0310\" | out-file $FilePath
[/code:1]
Le script est dans le path de l'exe, mais il semble utiliser le path par défaut de Windows.
J'ai essayé ça:
[code:1]
$FilePath = \"c:\tools\output.txt\"
$PathScript = Get-ScriptDirectory \"\\"
#Write-Output $PathScript
function Get-ScriptDirectory
{
Split-Path $script:MyInvocation.MyCommand.Path
}
Set-Location $PathScript
[/code:1]
Ce qui semble fonctionner mais après mon problème est sur les paramètres qui sont mal passés à l'exe. J'ai essayé en fonction des erreurs rencontrées de tripler les quotes, de passer des variables, etc.
Si quelqu'un pouvait me guider sur ce point, ce serait sympathique.
Je vous mets le script dans sa totalité:
[code:1]
# Script Name: UdadminReset.ps1
# Description: Script to release Citrix licenses
# support.citrix.com/proddocs/topic/licens...s-user-device-r.html
#
# Notes:
# 1. This script is scheduled to run thru Windows Task Scheduler
# 2. C:\Program Files (x86)\Citrix\Licensing\LS has been included in the “Path” system variable so udadmin.exe can be called without full path
#=================================================================================================================
#get used licenses
$FilePath = “c:\scripts\output.txt”
udadmin.exe -list -f “XDT_PLT_UD” | Select-String “XDT_PLT_UD 2016.0310” | out-file $FilePath
#remove excess and get license to delete
$Licenses = (Select-String -Pattern “XDT” -Path $FilePath ) | ForEach {$_.line -replace ” XDT_PLT_UD 2016.0310 “,”” }
#$Licenses = (Get-Content $FilePath ) | Select-String -Pattern “XDT” | ForEach {$_.line -replace ” XDT_PLT_UD 2016.0310 “,”” }
#Use udadmin to release licenses
ForEach ($Lic in $Licenses) {
#Write-Host Reset the following user: $Lic
udadmin.exe -f XDT_PLT_UD -user $Lic -delete
}
# restart Licensing service
$svc = (Get-Service -DisplayName “Citrix Licensing”)
Restart-Service -InputObject $svc -verbose
#*********************************************************************
#End Of Script
#*********************************************************************
Exit
[/code:1]<br><br>Message édité par: netgus, à: 6/10/15 15:16
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 5 mois #20826
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Lancer un executable avec des paramètres
Salut,
peux-tu utiliser la balise code stp ?
peux-tu utiliser la balise code stp ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Lancer un executable avec des paramètres