Hallo Kollegen,
ich habe eine csv Datei mit folgendem Inhalt
Scope
ScopeNo1
ScopeNo2
Nun würde ich gerne diese Liste hernehmen, um auf die in der Liste aufgeführten DHCP Scopes entsprechende Optionen zu setzen, wie DNS Server.
Dazu habe ich mir folgenden Code gebaut:
#Gemeinsame Liste Computer, Benutzer, DHCP Scopes $DHCPScopeListe = import-csv -Path C:\temp\DHCPScopeListe.csv -Delimiter ";" Schleife durch durchgehen der CSV zum Import der DHCP Einstellungen foreach ($DHCPScopeEntry in $DHCPScopeListe) { #Einzelne Scopes durchgehen echo "DHCPScope: " $DHCPScopeEntry.Scope #Scope holen $dhcpscope = Get-DhcpServerv4Scope -ComputerName $DHCPServer | ? {$_.name -like $DHCPScopeEntry.Scope} echo "dhcpscope: "$dhcpscope .... Set-DhcpServerv4OptionValue -computername $DHCPServer -scopeid $dhcpscope.ScopeId -OptionId 006 -Value $DNSServerRV1,$DNSServerRV2 -WhatIf
VOR der Übergabe an "set-dhcpserverv4..." lasse ich mir die neu befüllte Variable "$dhcpsope" ausgeben, diese ist hier bereits leer - doof.
Das Holen der DHCP Scopes an sich funktioniert, lasse ich die Where-Clause weg, erhalte ich die Liste.
Füge ich in die Where-Clause anstatt dem Variablen-Property "$DHCPScopeEntry.Scope" einen String ein, der dem Namen eines in der Liste enthaltenen Scope entspricht, funktioniert das Filtern auch.
Irgendwie stehe ich auch dem Schlauch und freue mich, wenn Ihr mich hier auf den richtigen Weg bringt...