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