Jump to content
Sign in to follow this  
Kuddel071089

PS: von DHCP zu Static IP per Remote-Command

Recommended Posts

Hallo zusammen,

 

wir testen gerade in unserer VMware Umgebung die Massenausrollung von Windows Servern mit DHCP.

 

Wenn eine VM ausgerollt wurde, soll die per DHCP zugewiesene IP statisch eingetragen werden.

 

Das ganze geschiet immer von einem zentralen Terminalserver, auf dem das Ausrollskript gestartet wird.

 

Wie bekomme ich jetzt also hin, der VM die DHCP IP statisch zuzuwiesen?

 

 

Vielen Dank schon einmal

 

EDIT:

Meine ersten Versuche sehen so aus:

$servername = "Test3"
$ip = "172.17.46.22"

$adapter_name = Invoke-Command -ComputerName $servername -ScriptBlock {Get-NetIPInterface | Where-Object {$_.AddressFamily -eq "IPv4" -and $_.InterfaceAlias -notlike "Loopback*"}}
$adapter_name = $adapter_name.InterfaceAlias


Invoke-Command -ComputerName $servername -ScriptBlock {netsh interface ip set address "$using:adapter_name" static $using:ip 255.255.255.0 172.17.46.1}


Invoke-Command -ComputerName $servername -ScriptBlock {netsh interface ip add dns "$using:adapter_name" 172.17.35.101}
Invoke-Command -ComputerName $servername -ScriptBlock {netsh interface ip add dns "$using:adapter_name" 172.17.36.99 index=2}
Invoke-Command -ComputerName $servername -ScriptBlock {netsh interface ip add dns "$using:adapter_name" 172.17.35.102 index=3}

 

Das Eintragen der DNS Server funktioniert, nur beim Setzten der IP bekomme ich immer folgenden Fehler:


Invalid mask parameter (172.17.46.1).

Edited by Kuddel071089

Share this post


Link to post
Share on other sites

Ich vermisse die Reservierung/Ausschluß der nun fix vergebenen IP im DHCP Scope.

Ich bin ebenfalls dafür das über ein Orchestrierung zu lösen. Euer Weg ist eher ein Würgaround.

Share this post


Link to post
Share on other sites

DHCP Reservierung:


#IP, MAC Auslesen und statische DHCP Reservierung setzen
        $mac_abfrage = Get-NetworkAdapter -VM $servername | Select MacAddress
        $mac = $($mac_abfrage.MacAddress)
        $mac = $mac.Replace(':','-')
        $ip = Get-DhcpServerv4Reservation -ComputerName DHCP-Server-1 -ClientId $mac -ScopeId 172.17.46.0 -EA SilentlyContinue
        #Warten bis eine IP zugwiesen wurde
        while(!($ip)) {
            sleep 1
            $ip = Get-DhcpServerv4Reservation -ComputerName DHCP-Server-1 -ClientId $mac -ScopeId 172.17.46.0 -EA SilentlyContinue
        }

        $ip = $ip.IPAddress
        $ip = $ip.IPAddressToString
        Add-DhcpServerv4Reservation -ScopeId 172.17.46.0 -IPAddress $ip -ClientId $mac -ComputerName DHCP-Server-1 -Name $servername

Share this post


Link to post
Share on other sites

Das vCenter selber hat wohl eine Erweitergun für sowas, den vCenter Orchestrator. Aber wir haben da keine Lizenz für und auch noch keine Ahnung von.


Daher dieser weg über Powershell.

 

Ein Tool für den gesamten Prozess wäre toll, aber ist mal wieder zu teuer ^^

Share this post


Link to post
Share on other sites

Hi,

 

im VCenter lässt sich schon ein wenig mit den Customization Specification machen. Da noch ein wenig PowerCLI und PowerShell bei und man ist recht flexibel. Für das ganze Orchestrierungszeug braucht man halt auch wieder Zeit und Know-How.

 

Gruß

Jan

Share this post


Link to post
Share on other sites

Die Frage ist, was ist das Ziel?

geht es nur darum einmalig vms auszurollen doer geht es darum den Lebenszyklus zu automatisieren und z.b. auch Auf Applikationsebene eine Automatisierung zu erreichen.

Wenn die VMs alle gleich sind und sich sozusagen nur im Namen und der IP unterscheiden, dann genügt die Powershell.

Sollen aber auf ein Teil der VMs noch irgendwelche Windowsrollen oder Serverdienste installiert und konfiguriert werden, dann ist das mit der Powershell schnell eine Lebensaufgabe.

Share this post


Link to post
Share on other sites

Wie so häufig, das kommt drauf an. Je nach Applikation ist das aber auch mit 3rd Party mehr als eine Lebensaufgabe. ;)

 

Wir waren letzte Woche z.B. damit beschäftigt, per "Image Factory" als Task wöchentlich ein gepatchtes Image zu erstellen, dieses in ein Template zu kopieren und aus dem Template dann Kundenumgebungen zu deployen. Da sind wir jetzt bei knapp 1000 Zeilen Code und installieren DC (inkl. Konfiguration), n Fileserver, einen Exchange (inkl. Konfiguration) und n Terminalserver. Da gesellt sich jetzt noch was Copy&Paste dazu für ein bisschen "Citrix" und in die Terminalserver müssten noch die Standard Anwendungen.

 

Ja, wir sind im Hosting tätig und haben somit sehr sehr standardisierte Umgebungen. Aber ein Hexenwerk war das alles nicht. In einer Woche hätten wir wohl auch nicht mal eben alles mit 3rd Party gebaut bzw. eine für uns passende Lösung gefunden.

 

Aber wie gesagt, it depends. :)

Share this post


Link to post
Share on other sites
vor 12 Stunden schrieb Kuddel071089:

Das gesamte Skript hat 1200 Zeilen. Die wollte ich dann doch nicht alle posten ^^

Das geht problemlos als Textdatei in einem Anhang. ;-)

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...