Bonjour à tous,
J'ai un script qui s'exécute de manière transparente sur tous les postes d'un parc informatique.
Le script est lancé par un service avec le compte système.
Dans de rares cas, j'ai besoin d'afficher une boite de dialogue.
J'ai le script suivant qui fonctionne seulement sur Windows XP !!! pas W7 ni W8.1...
Code POWERSHELL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $logName="C:\_logs\transcript_"+(Get-Date -format 'yyyyMMdd-HHmmss')+".log" Start-Transcript -path $logName -force | Out-Null Write-Host Write-Host "script version 5" [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null $A = [System.Windows.Forms.MessageBox]::Show( "Le Message", "Le titre", [System.Windows.Forms.MessageBoxButtons]::OKCancel, [System.Windows.Forms.MessageBoxIcon]::Information, [System.Windows.Forms.MessageBoxDefaultButton]::Button1, [System.Windows.Forms.MessageBoxOptions]::DefaultDesktopOnly) #ServiceNotification if ($A -eq "OK" ) { Write-Host "L'utilisateur a cliqué sur <OK>" } else { Write-Host "L'utilisateur a cliqué sur <Annuler>" } Write-Host Stop-Transcript
Au début je n'avait pas l'option DefaultDesktopOnly mais cela provoqué l'erreur :
Auriez-vous une idée ?Exception lors de l'appel de «*Show*» avec «*2*» argument(s)*: «*L'affichage d'une boîte de dialogue modale ou d'un formulaire lorsque l'application ne s'exécute pas en mode UserInteractive n'est pas une opération valide. Spécifiez le style ServiceNotification ou DefaultDesktopOnly pour afficher une notification à partir d'une application de service.*»
Merci d'avance
![]()
Partager