Bonjour,

On m'a demandé il y a peu, de faire un script pour récupérer la version du pack office installée sur chaque machine d'un parc informatique.

Voici le script en question :


Code:

Code : 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
$do = $false
$ClicToRun = ""
$VL = ""
$users = Import-Csv "..\ClicOrVL\Pas_Ouvrir\U365.csv" -Delimiter ";"
$Resultat = test-path -path HKLM:\SOFTWARE\Microsoft\Office\15.0\ClickToRun

if($Resultat)
{
    $ClicToRun = "X"
    $VL = ""
    $VersionClic = get-itemproperty -path HKLM:\SOFTWARE\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs\Active\O365ProPlusRetail\fr-fr\

}
else
{
    $ClicToRun = ""
    $VL = "X"
    $VersionClic = ""
}


foreach ($user in $users)
{
    if($user.Computer -like $env:COMPUTERNAME)
    {
        $user.ClicToRun = $ClicToRun
        $user.VL = $VL
        $user.Version = $VersionClic.Version
        $do = $true        
        break        
    }        
}
if($do -eq $false)
{
    if($users.count -gt 1)
    {
    $newU = $users[0]|select *
    $newU.Computer = $env:COMPUTERNAME
    $newU.VL = $VL
    $newU.ClicToRun= $ClicToRun
    $newU.Version = $VersionClic.Version
    $users += $newU
    }
}

$users | select Computer,ClicToRun,VL,Version | sort -Descending Version | Export-Csv "..\ClicOrVL\U365.csv" -Delimiter ";" -NoTypeInformation

$users | select Computer,ClicToRun,VL,Version | sort -Descending Version | Export-Csv "..\ClicOrVL\Pas_ouvrir\U365.csv" -Delimiter ";" -NoTypeInformation




Le code fonctionne très bien. Toutes les informations sont bien présente. Cependant, il y a des jours ou le csv ce vide totalement, ce qui a pour conséquence de bloquer mon script car il faut minimum 2 lignes ( sans compter les en-têtes), pour l'écriture d'une nouvelle ligne.

Donc mon problème est de savoir pourquoi le csv se vide ?

Pourriez-vous m'aider ? Merci d'avance.