Quantcast
Channel: Windows Server Forum
Viewing all articles
Browse latest Browse all 2531

Mein kleines Script für HyperV Konfiguration

$
0
0

Hallo,

hab eine Weile im Netz nach möglichen Konfigurationsscript für Server 2012R2 gesucht aber nicht das Richtige gefunden.
Aus diesem Grund hab ich mal etwas zusammen gebastelt. Vielleicht hilft es ja jemanden.

Vorraussetzung ist eine kleine Batch Datei die zum Starten aufgerufen wird.

start.cmd
copy c:\blade\autostart.cmd "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\autostart.cmd"

in der Autostart.cmd findet sich folgendes
powershell "C:\blade\Netzwerk_Blade.ps1"

es wird noch eine kommagetrennte CSV mit allen Informationen zu den Betreffenden Servern gebraucht.
Servername,Beschreibung,Management,Managenetmask,DNS1,DNS2,CSV,csvnetmask,Livemigration,Livemigrationnetmask,Backup,backupnetmask,Gateway

nun zum Script selbst

#Erstellt von Stephan Meier, MCSE Server 2012, Klassik-Stiftung-Weimar
#Dieses Script kann frei verwendet und angepasst werden
#Bei Anregungen stehe ich gern zur Verfügung ste.meier@hotmail.de

#prüfung ob script bereits ausgeführt wurde

$regpath = Test-Path -Path "HKLM:\Software\KSW-HV-Install"
if ("$regpath" -eq "False")
    {
    New-Item -Path "HKLM:\Software\KSW-HV-Install"
    set-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" InstallStep -Value 0 –Force
    set-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" HVHostname -Value (Read-Host "Servername eingeben ") –Force
    net user Administrator Passw0rd
    }


#Variablen setzen

$installstep=get-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" InstallStep
$ServerName=get-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" HVHostname
$ipv4manageipaddress=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).management)
$ipv4managesubnetbit=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).managenetmask)
$ipv4managegateway=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).Gateway)
$ipv4csvipaddress=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).csv)
$ipv4csvnetpaskbit=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).csvnetmask)
$ipv4livemigipaddress=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).Livemigration)
$ipv4livemigipsubnetbit=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).Livemigrationnetmask)
$ipv4backupipaddress=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).Backup)
$ipv4backupsubnetbit=((Import-Csv C:\Blade\bladeliste.csv | Where-Object {$_.Servername -eq $ServerName.HVHostname} ).Backupnetmask)


#Schritt 0 Autologon einschalten
if ($InstallStep.installstep -eq 0)
    {
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" AutoAdminLogon -Value 1 –Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" DefaultDomainName -Value .\ –Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" DefaultUserName -Value Administrator –Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" DefaultPassword -Value Passw0rd –Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" DisableCAD -Value 1 –Force
    set-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" InstallStep -Value 1 –Force
    Restart-Computer
    }

elseif ($InstallStep.installstep -eq 1)
    {
    Rename-Computer -NewName $ServerName.HVHostname
    Add-WindowsFeature Multipath-IO
    Add-WindowsFeature Failover-Clustering -IncludeManagementTools
    Add-WindowsFeature Hyper-V -IncludeManagementTools
    set-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" InstallStep -Value 2 –Force
    Restart-Computer
    }

elseif ($InstallStep.installstep -eq 2)
    {
    $nicteam = Get-NetAdapter -Physical | Where-Object {$_.Status -eq "UP" }
    New-NetLbfoTeam -Name TEAM -TeamMembers $nicteam.Name -TeamingMode Static -LoadBalancingAlgorithm HyperVPort -Confirm:$false
    Start-Sleep -s 10
    
    #prüfen ob Switch bereits erstellt ist und neuen Switch erstellen wenn benötigt
    $existswitch=Get-VMSwitch
    if ($existswitch.Name -lt "Extensible")
        {
        write-host "Es wird ein Extesible Switch erstellt"
        New-VMSwitch “Extensible” -MinimumBandwidthMode weight -NetAdapterName “Team” -AllowManagementOS $false
        Set-VMSwitch “Extensible” -DefaultFlowMinimumBandwidthWeight 10
        
        #anlegen der Netzwerkkarten
     
        write-host "Erstellen der nötigen Netzwerkkarten"
        Add-VMNetworkAdapter -ManagementOS -Name “Manage” -SwitchName “Extensible”
        Set-VMNetworkAdapter -ManagementOS -Name “Manage” -MinimumBandwidthWeight 10
        Add-VMNetworkAdapter -ManagementOS -Name “CSV” -SwitchName “Extensible”
        Set-VMNetworkAdapter -ManagementOS -Name “CSV” -MinimumBandwidthWeight 30
        Add-VMNetworkAdapter -ManagementOS -Name “Livemigration” -SwitchName “Extensible”
        Set-VMNetworkAdapter -ManagementOS -Name “Livemigration” -MinimumBandwidthWeight 10
        Add-VMNetworkAdapter -ManagementOS -Name “Backup” -SwitchName “Extensible”
        Set-VMNetworkAdapter -ManagementOS -Name “Backup” -MinimumBandwidthWeight 10
        Start-Sleep -s 30
        }
    #IP Adressen vergeben
    write-host "IP Adressen für die neu angelegten Netzwerkkarten werden vergeben"
    New-NetIPAddress -InterfaceAlias “vEthernet (Manage)” -IPAddress $ipv4manageipaddress -PrefixLength $ipv4managesubnetbit -DefaultGateway $ipv4managegateway
    Set-DnsClientServerAddress -InterfaceAlias “vEthernet (Manage)” -ServerAddresses (HIER GEHÖREN DIE DNS SERVER HIN)
    New-NetIPAddress -InterfaceAlias “vEthernet (CSV)” -IPAddress $ipv4csvipaddress -PrefixLength $ipv4csvnetpaskbit
    New-NetIPAddress -InterfaceAlias “vEthernet (Livemigration)” -IPAddress  $ipv4livemigipaddress -PrefixLength $ipv4livemigipsubnetbit
    New-NetIPAddress -InterfaceAlias “vEthernet (Backup)” -IPAddress $ipv4backupipaddress -PrefixLength $ipv4backupsubnetbit
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 0 –Force
    
    #Zuordnung zu VLAN
    write-host "Virtuelle Netzwerkkarten werden den VLAN's zugeordnet"
    Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "CSV" -Access -VlanId 13
    Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Livemigration" -Access -VlanId 14
    Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Backup" -Access -VlanId 21
    
    #IPV6 deaktivieren
    write-host "TCP/IP v6 wird deaktiviert"
    Set-NetAdapterBinding -name "vEthernet (Livemigration)" -ComponentID ms_tcpip6 -Enabled $false
    Set-NetAdapterBinding -name "vEthernet (CSV)" -ComponentID ms_tcpip6 -Enabled $false
    Set-NetAdapterBinding -name "vEthernet (Manage)" -ComponentID ms_tcpip6 -Enabled $false
    Set-NetAdapterBinding -name "vEthernet (Backup)" -ComponentID ms_tcpip6 -Enabled $false
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 0 –Force
    
    #DNS Registrierung auf den nicht benoetigten Adaptern deaktivieren
    Set-DnsClient -InterfaceAlias "vEthernet (Livemigration)" -RegisterThisConnectionsAddress $false
    Set-DnsClient -InterfaceAlias "vEthernet (CSV)" -RegisterThisConnectionsAddress $false
    Set-DnsClient -InterfaceAlias "vEthernet (Backup)" -RegisterThisConnectionsAddress $false
    set-ItemProperty -Path "HKLM:\SOFTWARE\KSW-HV-Install" InstallStep -Value 3 –Force
    Restart-Computer
    }    

elseif ($InstallStep.installstep -eq 3) #Registrierungsnderungen entfernen
    {
   
    Remove-Item -Path "HKLM:\SOFTWARE\KSW-HV-Install" –Force
    Remove-Item -Path "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\autostart.cmd" -Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" AutoAdminLogon -Value 0 –Force
    Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" DefaultPassword  –Force
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" DisableCAD -Value 0 –Force
    Write-Host "Einrichtung abgeschlossen"
    Write-Host "Bitte ein nees Administratorkennwort vergeben !!!"
    net user Administrator *
    Restart-Computer

    }

Viel Spass damit

Gruß Stephan


Viewing all articles
Browse latest Browse all 2531


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>