script pour manipuler en powershell un csv avec une seule colonne
Bonjour,
d'abord, je n'y connais quasiment rien en powershell...
Je souhaite néanmoins modifier un script qui aujourd'hui analyse un fichier csv composé de 2 colonnes pour créer un groupe AD :
Code:
1 2 3 4
| #TYPE Selected.Microsoft.ActiveDirectory.Management.ADPrincipal
"name","distinguishedName"
"sesa449786","CN=sesa449786,OU=Users,OU=Grenoble-38I,OU=Sites,OU=FR,OU=Countries,DC=eur,DC=gad,DC=schneider-electric,DC=com"
"sesa445337","CN=sesa445337,OU=Users,OU=Elnath,OU=Bangalore,OU=Sites,OU=IN,OU=Countries,DC=apa,DC=gad,DC=schneider-electric,DC=com" |
en un script qui saurait faire la même chose à partir d'un csv qui ne contiendrait que la première colonne :
Code:
1 2 3
|
"sesa449786"
"sesa445337" |
Le script actuel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
$path = "C:\Users\SESA27384\Desktop\AD\test.csv"
$csv = Import-Csv -path $path
foreach($line in $csv)
{
$properties = $line | Get-Member -MemberType Properties
$column = $properties[1]
$columnvalue = $line | Select -ExpandProperty $column.Name
Write-Host "Entry: $columnvalue"
$data = @()
$domains = "gad.schneider-electric.com","eur.gad.schneider-electric.com","apa.gad.schneider-electric.com","nam.gad.schneider-electric.com","gmea.gad.schneider-electric.com"
foreach($domain in $domains)
{
$data += Get-ADUser -filter "((EmployeeID -like '$columnvalue') -OR (name -like '$columnvalue')) -AND (enabled -eq '$true') " -Server $domain
}
[bool]$data
if ($data) { Write-Host "Insert $columnvalue"
Add-ADGroupMember "CN=GAD-SU-NextGenPDM_NonPROD,OU=Access Management,OU=Groups,DC=gad,DC=schneider-electric,DC=com" -server gad.schneider-electric.com -Member $data
}
if (!$data) { Write-Host "Entry Not Found $columnvalue"
}
} |
Je suis trop débutant pour comprendre ce script et donc le modifier. Peut-on m'aider à le comprendre, voire à le modifier ?