Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PowerShell] lege velden in CVS bulk upload AD

Pagina: 1
Acties:

  • fopspeen
  • Registratie: Februari 2008
  • Laatst online: 10-08-2023
Ik ben al enige tijd aan het zoeken naar een manier om gemakkelijk van meerdere users de properties aan te passen in AD. En na veel zoeken en aanpassen lijkt het eindelijk te werken.
Echter zit er 1 klein probleempje in.

Zo worden er algemene velden gevuld, maar ook user specifieke. Maar niet iedere user heeft alle velden gevuld. Zo heeft niet iedereen een mobiel nummer. En ook heeft ons dochterbedrijf in het buitenland geen postbus(POBox).

En door deze lege veldjes wil het afhandelen van de code niet doorgaan zodra het een leeg veldje tegen komt. Ik hoopte dat iemand mij kon vertellen hoe lege velden van de CSV eventueel overgeslagen konden worden, of genegeerd moeten worden?

Dit is mijn script
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Import-Module ActiveDirectory

$list = Import-Csv -delimiter ";" "C:\Scripts\EditUsers.csv" | % {
$User = $_.sAMAccountName
$Description = $_.Description
$Company = $_.Company
$Manager = $_.Manager
$Department = $_.Department
$Country = $_.Country
$City = $_.City
$Title = $_.Title
$PostalCode = $_.PostalCode
$POBox = $_.POBox
$Office = $_.Office
$OfficePhone = $_.OfficePhone
$StreetAddress = $_.streetAddress
$MobilePhone = $_.MobilePhone
$Fax = $_.Fax
$Homepage = $_.HomePage
Set-ADUser $User -OfficePhone $OfficePhone -POBox $POBox -Office $Office -StreetAddress $StreetAddress -MobilePhone $MobilePhone -Fax $Fax -Description $Description -Company $Company -Department $Department -Country $Country -City $City -Title $Title -PostalCode $PostalCode
}

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 25-10 14:28
Waarom gaat het niet verder? Laat in ieder geval foutmeldingen zien. Het zou kunnen dat een niet bestaande waarde een onlogisch iets oplevert in Set-ADUser, dan zou je voor elk argument conditioneel de waarde toe kunnen voegen aan Set-ADUser, dus als er een telefoonnummer is de optie -Phone $Phone toevoegen o.i.d.

  • fopspeen
  • Registratie: Februari 2008
  • Laatst online: 10-08-2023
Het is al opgelost.
Ik heb gewoon een if statement gebruikt.

In de initiele Set-ADUser heb ik alle velden verwerkt die altijd gevuld zijn.
In de if statement heb ik de velden gezet die niet altijd gevuld zijn.

Toch bednakt :)
Zie code:

code:
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
Import-Module ActiveDirectory

$list = Import-Csv -delimiter ";" "C:\Scripts\EditUsers.csv" | % {
$User = $_.sAMAccountName
$Description = $_.Description
$Company = $_.Company
$Manager = $_.Manager
$Department = $_.Department
$Country = $_.Country
$City = $_.City
$Title = $_.Title
$PostalCode = $_.PostalCode
$POBox = $_.POBox
$Office = $_.Office
$OfficePhone = $_.OfficePhone
$StreetAddress = $_.streetAddress
$MobilePhone = $_.MobilePhone
$Fax = $_.Fax
$Homepage = $_.HomePage

Set-ADUser $User -Office $Office -StreetAddress $StreetAddress -Fax $Fax -Company $Company -Department $Department -Country $Country -City $City -PostalCode $PostalCode -HomePage $Homepage

if ($Description -ne "") {Set-ADUser $User -Description $Description}
if ($Manager -ne "") {Set-ADUser $User -Manager $Manager}
if ($OfficePhone -ne "") {Set-ADUser $User -OfficePhone $OfficePhone}
if ($Title -ne "") {Set-ADUser $User -Title $Title}
if ($MobilePhone -ne "") {Set-ADUser $User -MobilePhone $MobilePhone}
if ($POBox -ne "") {Set-ADUser $User -POBox $POBox}
}