Bonjour à tous,

J'aurais besoin de vos lumière pour un petit souci sur un script en powershell.
J'ai créer ce script afin de me faciliter la vie au travail ainsi qu'à mes collègues.
Il a pour but de récupérer des informations pour des inventaires.
Le script est fonctionnel mais j'aurais voulu l’améliorer, actuellement il y a des messages box avec une seul information par box et ensuite toutes les information sont récupéré et mis dans un fichier .csv
Voici ce que ca donne et qui fonctionne bien :

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
$Item = @()
 
$savdep = [System.Windows.Forms.MessageBox]::Show('Existance d une sauvegarde deportee ?','Sauvegarde Deportée','YesNo')
 
#################### support pour la deportee
 
## Titre de la Box
$form1 = New-Object System.Windows.Forms.Form
$form1.Size='300,280'
$form1.Text = 'Sauvegarde déportée'
$form1.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
 
##Message dans la box
$label1 = New-Object System.Windows.Forms.Label
$label1.Location='15,15'
$label1.Width=250
$label1.Text='Type de support pour la sauvegarde deportee ?'
$form1.Controls.Add($label1)
 
##Bouton OK
$button = New-Object System.Windows.Forms.Button
$button.Location='200,200'
$button.Text='OK'
$button.DialogResult='OK'
$form1.Controls.Add($button)
 
## GroupBox
$gb = New-Object System.Windows.Forms.GroupBox
$gb.Location = '20,40'
$gb.Size = '150,170'
$form1.Controls.Add($gb)
 
 
##Les choix possibles
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Disque dur USB'
$rb.Location = '10,10'
 
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'NAS'
$rb.Location = '10,40'
 
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Partage reseau'
$rb.Location = '10,70'
$rb.Width = 200
 
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Serveur 2003'
$rb.Location = '10,100'
$rb.Width = 200
 
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Pas de deportee'
$rb.Location = '10,130'
$rb.Width = 200
 
$form1.ShowDialog()
$supportdep = $gb.Controls | Where-Object{ $_.Checked } | Select-Object Text
 
#######################################################################
##Definition des variables pour l'export CSV
 
$MyObject = New-Object PSObject -Property @{
 
             sauvegardedeporte                 = $savdep
             supportdeportee                   = $supportdep
 
}
    $Item += $MyObject
 
 
#######################################################################
##Export CSV vers c:\
 
$tab = [char]9
$Item |select sauvegardedeporte,supportdeportee |export-csv -Path c:\test.Serveur.csv -Delimiter "$tab"



Mon but est de tout mettre dans une seul box afin de pouvoir répondre aux questions dans l'ordre que l'ont souhaite.
J'ai réussi à le faire mais le problème est que je n'arrive pas à récupéré mes variables dans mon .csv
Voila ce que j'ai fait :




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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
$Item = @()
 
 
#######################################################################
## Ajout des bibliotheque Powershell + creation de la box principal + bouton OK
 
 
Add-Type -AssemblyName System.Windows.Forms
add-type -assemblyName "Microsoft.VisualBasic"
Add-Type -AssemblyName System.Drawing
 
 
## Titre de la Box + taille de la box
$form = New-Object System.Windows.Forms.Form
$form.Size='1350,700'
$form.Text = 'Info Kwartz'
$form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
 
 
##Bouton OK
$button = New-Object System.Windows.Forms.Button
$button.Location='880,630'
$button.Text='OK'
$button.DialogResult='OK'
$form.Controls.Add($button)
 
 
#################### existance d'une sauvegarde deportee
 
 
## GroupBox sauvegarde deportee operationnelle
$gb8 = New-Object System.Windows.Forms.GroupBox
$gb8.Location = '790,450'
$gb8.Size = '260,80'
$form.Controls.Add($gb8)
 
 
##Message dans la box sauvegarde deportee operationnelle
$rb8 = New-Object System.Windows.Forms.Label
$gb8.Controls.Add($rb8)
$rb8.Text='Sauvegarde DEPORTEE operationnelle ?'
$rb8.Location='20,10'
$rb8.Width = 220
 
 
##Les choix possibles
$rb8 = New-Object System.Windows.Forms.RadioButton
$gb8.Controls.Add($rb8)
$rb8.Text = 'Oui'
$rb8.Location = '80,40'
$rb8.Width = 40
 
 
$rb8 = New-Object System.Windows.Forms.RadioButton
$gb8.Controls.Add($rb8)
$rb8.Text = 'Non'
$rb8.Location = '150,40'
$rb8.Width = 50
 
 
 
 
$savdep = $gb8.Controls | Where-Object{ $_.Checked } | Select-Object Text
 
 
 
 
##################################################################
 
 
## GroupBox Support de la deportee
$gb9 = New-Object System.Windows.Forms.GroupBox
$gb9.Location = '790,530'
$gb9.Size = '260,80'
$form.Controls.Add($gb9)
 
 
##Message dans la box Support de la deportee
$rb9 = New-Object System.Windows.Forms.Label
$gb9.Controls.Add($rb9)
$rb9.Text='Type de support pour la sauvegarde deportee ?'
$rb9.Location='10,10'
$rb9.Width = 245
 
 
#Liste déroulante Support de la deportee
$rb9 = New-Object System.Windows.Forms.Combobox
$rb9.Location = '60,40'
$rb9.DropDownStyle = "DropDownList"
$rb9.Items.AddRange(("Disque dur USB","NAS","Partage reseau","Serveur 2003","Pas de deportee"))
$gb9.Controls.Add($rb9)
 
 
 
 
$supportdep = $gb9.Controls | Where-Object{ $_.Checked } | Select-Object Items.AddRange
 
 
$form.ShowDialog()
 
 
#######################################################################
##Definition des variables pour l'export CSV
 
 
$MyObject = New-Object PSObject -Property @{
 
 
             sauvegardedeporte                 = $savdep
             supportdeportee                   = $supportdep
 
 
}
	$Item += $MyObject
 
 
 
 
#######################################################################
##Export CSV vers c:\
 
 
$tab = [char]9
$Item |select sauvegardedeporte,supportdeportee |export-csv -Path c:\test.Serveur.csv -Delimiter "$tab"


J'ai retiré une parti pour que ma demande ne soit pas trop lourde à lire donc ne soyez pas étonné de la grandeur de la box ^^
Le script fonctionne mais quand j'ouvre mon csv il est vide :\
Si vous avez une idées pour réussir à récupérer mes valeurs dans mon csv je suis preneur

Merci a tous ^^