Powershell Scripting Import Wert aus CSV und diesen als Variable verarbeiten
Hallo Zusammen,
ich verzweifle gerade etwas.
Zur Situation:
Ich habe ein Script das unter anderem AD Gruppen anlegt, das funktioniert soweit auch alles, jetzt kam ich aber auf die Idee das anlegen der Gruppen dynamisch über eine CSV datei einzulesen.
Auch das funktioniert soweit, ich habe aber einen Wert der ein entweder als Text verarbeitet werden soll oder als Variable die ich oben im Script festgelegt habe.
Betroffener Teil im Script:
Import-Csv -Path \\dc01-2019\shares\Baulogistik\Baustellen\Scriptdaten\Gruppen_ADD.csv -Delimiter ";" -encoding utf8 | Foreach{
$Name = $_.Name
$SamAccountName = $_.SamAccountName
$GroupCategory = $_.GroupCategory
$GroupScop = $_.GroupScop
$DisplayName = $_.DisplayName
$Path = $_.Pfad
If($_.Description -like "$*") {$Description = %{$_.Description}}
Else {$Description = $_.Description}
Write-Host $Description
New-ADGroup -Name $Bauvorhaben$Name -SamAccountName $Bauvorhaben$SamAccountName -GroupCategory $GroupCategory -GroupScope $GroupScop -DisplayName $Bauvorhaben$DisplayName -Path $Path -Description $Description
}
Dazugehörige csv:
Name SamAccountName GroupCategory GroupScop DisplayName Pfad Description
Security Global OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
_Lesen _Lesen Security Global _Lesen OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net Test
_Schreiben _Schreiben Security Global _Schreiben OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
_Ändern _Ändern Security Global _Ändern OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
_Zuko _Zuko Security Global _Zuko OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
Frage:
wie verklickere ich der Powershell beim Festlegen der Variable $Description das der den Wert $Baustellenname als die oben angelegte Variable interpretieren soll und mir in der AD nicht '$Baustellenname' in die Description schreibt?
Gruß
Bloodspiret
ich verzweifle gerade etwas.
Zur Situation:
Ich habe ein Script das unter anderem AD Gruppen anlegt, das funktioniert soweit auch alles, jetzt kam ich aber auf die Idee das anlegen der Gruppen dynamisch über eine CSV datei einzulesen.
Auch das funktioniert soweit, ich habe aber einen Wert der ein entweder als Text verarbeitet werden soll oder als Variable die ich oben im Script festgelegt habe.
Betroffener Teil im Script:
Import-Csv -Path \\dc01-2019\shares\Baulogistik\Baustellen\Scriptdaten\Gruppen_ADD.csv -Delimiter ";" -encoding utf8 | Foreach{
$Name = $_.Name
$SamAccountName = $_.SamAccountName
$GroupCategory = $_.GroupCategory
$GroupScop = $_.GroupScop
$DisplayName = $_.DisplayName
$Path = $_.Pfad
If($_.Description -like "$*") {$Description = %{$_.Description}}
Else {$Description = $_.Description}
Write-Host $Description
New-ADGroup -Name $Bauvorhaben$Name -SamAccountName $Bauvorhaben$SamAccountName -GroupCategory $GroupCategory -GroupScope $GroupScop -DisplayName $Bauvorhaben$DisplayName -Path $Path -Description $Description
}
Dazugehörige csv:
Name SamAccountName GroupCategory GroupScop DisplayName Pfad Description
Security Global OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
_Lesen _Lesen Security Global _Lesen OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net Test
_Schreiben _Schreiben Security Global _Schreiben OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
_Ändern _Ändern Security Global _Ändern OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
_Zuko _Zuko Security Global _Zuko OU=Bauvorhaben,OU=Baulogistik,OU=Benutzergruppen,OU=Benutzerorganisation,DC=bloodspiret,DC=ddns,DC=net $Baustellenname
Frage:
wie verklickere ich der Powershell beim Festlegen der Variable $Description das der den Wert $Baustellenname als die oben angelegte Variable interpretieren soll und mir in der AD nicht '$Baustellenname' in die Description schreibt?
Gruß
Bloodspiret
Please also mark the comments that contributed to the solution of the article
Content-Key: 582713
Url: https://administrator.de/contentid/582713
Printed on: April 18, 2024 at 14:04 o'clock
3 Comments
Latest comment
$Description = iex $_.Description
Guckst du auch das Beispiel
https://tio.run/##TY1BCsIwEEX3OcUsKrOq0GyDUDyDe2njiIFJI0kaFevZYyQt@DfDfz ...