Bonjour à tous,

Je souhaite bâtir un script PW qui va créer des users dans un AD à partir de document Excel.

Ayant créer deux boucles Do-While qui s'occupent de la lecture du fichier je rencontre toujours une même erreur de variable non déclarée. J'ai beau essayé de les passer en global, j'obtiens encore et toujours la même erreur.

Voici mon 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
50
51
52
53
54
#Déclarations des fonctions
$file = 'C:\Users\Administrator\Documents\ressources.xlsx'
$sheetName = "Sheet1"                                                         
[int]$global:line = 2                                                         #10 Nombre de global:line à traiter pour la création de user
[int]$global:column = 1

#Ouverture invisible d'Excel
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $false

#Ouverture du fichier Excel
$workbook = $objExcel.Workbooks.Open($file)
$sheet = $workbook.Worksheets.Item($sheetName)

#Instructions Principales
Do
{
    Do
    {
        Write-host $global:column
        $global:column+=1
    }While($sheet.cells.item($global:line,$global:column).value() -ne $null) #26 Boucle de controle des lignes

    $global:line++
    $global:column = 1

}While($sheet.cells.item($global:line,$global:column).value() -ne $null) #28 Boucle de controle des colonnes

#Fermeture d'Excel
#$objExcel.Quit()

Erreurs obtenues:

You cannot call a method on a null-valued expression.
At C:\Users\Administrator\Documents\creationUsers.ps1:17 char:1
+ $sheet = $workbook.Worksheets.Item($sheetName)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
1
You cannot call a method on a null-valued expression.
At C:\Users\Administrator\Documents\creationUsers.ps1:25 char:9
+         $global:column+=1
+         ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
You cannot call a method on a null-valued expression.
At C:\Users\Administrator\Documents\creationUsers.ps1:30 char:5
+     $global:column = 1
+     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
Any clue please ?