Aston-HyperV-Code/Guests/SRV-03.ps1
2021-06-01 17:09:49 +02:00

111 lines
3.1 KiB
PowerShell
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Alexandre Simao
# GPL v3
# SRV-03 ONLY
# asrbd.dev,asrbd.local,dev.asrbd.local
# TODO:
echo "Shamefully made by Alexandre Simao. Pardon-me M. Stallman"
### Rename this piece of garbage
echo "Changing Computer's name"
Rename-computer "SRV-03"
# End
### Rename interfaces by parsing VM device name
echo "Renaming adapters"
$adapts = Get-NetAdapter
foreach ($adapt in $adapts) {
$HVName = (Get-NetAdapterAdvancedProperty -name $adapt.name -DisplayName "Hyper-v Network Adapter Name").DisplayValue
Rename-Netadapter -name $adapt.name -NewName $HVName
}
#End
# Pausing to let things settle
echo "Sleeping 10s"
Sleep 10
### Général IP configure
# echo "IP configuration"
#Arc-SRV
netsh interface ip set address name="Bou-LAN" static 192.168.128.1 255.255.255.0 192.168.128.254
### DNS Conf for all InterfaceAlias ###
echo "DNS Conf"
foreach ($c in Get-NetAdapter) { write-host 'Setting DNS for' $c.interfaceName ; Set-DnsClientServerAddress -InterfaceIndex $c.interfaceindex -ServerAddresses ('192.168.8.1') }
### Setting connection as Private
echo "Setting connection as Private"
Set-NetConnectionProfile -NetworkCategory Private
### Change ZoneAlarm rule to accept incoming ICMP ipv4 probes
echo "Allowing ICMPv4 probes"
$Params = @{
"Name" = 'vm-monitoring-icmpv4'
"Action" = 'Allow'
}
Set-NetFirewallRule @Params
# END
### Add routes for RTR-03
echo "Add routes for RTR-03"
route add -p 192.168.8.0/24 192.168.128.254
route add -p 192.168.12.0/24 192.168.128.254
route add -p 192.168.255.0/24 192.168.128.254
route add -p 0.0.0.0/0 192.168.128.254
# END
### Installing and configuring DNS role
# Install and configure DNS server
Install-WindowsFeature -Name DNS -IncludeManagementTools -includeallsubfeature
#Add-DnsServerPrimaryZone -NetworkID 192.168.128.0/24 -ZoneFile “192.168.128.1.in-addr.arpa.dns” # Zone secondaire
Set-DnsServerPrimaryZone -ComputerName SRV-03 -Name asrbd.dev -SecureSecondaries "TransferToSecureServers" -SecondaryServers "192.168.8.1"
Add-DnsServerPrimaryZone -ResponsiblePerson "bol@loc.ks" -DynamicUpdate None -ZoneFile asrbd.dev.dns -Name asrbd.dev
$ns = Get-DnsServerResourceRecord -ZoneName asrbd.dev -RRType NS
$nsnew = $ns.Clone()
$nsnew.RecordData.NameServer = "srv-03.asrbd.dev"
# Get-DnsServerZone -Name asrbd.dev
Set-DnsServerResourceRecord -ZoneName asrbd.dev -NewInputObject $nsnew -OldInputObject $ns
$soa = Get-DnsServerResourceRecord -ZoneName asrbd.dev -RRType Soa
$soanew = $soa.Clone()
$soanew.RecordData.PrimaryServer = "srv-03.asrbd.dev"
$soanew.RecordData.ExpireLimit = (New-TimeSpan -Days 4)
Set-DnsServerResourceRecord -ZoneName asrbd.dev -NewInputObject $soanew -OldInputObject $soa
Set-DnsServerPrimaryZone -ComputerName SRV-01 -Name asrbd.dev -SecureSecondaries "TransferToSecureServers" -SecondaryServers "192.168.128.1"
Add-DnsServerForwarder -IPAddress 9.9.9.9 -PassThru # Forward
Add-DnsServerResourceRecordA -Name "SRV-01" -ZoneName "asrbd.dev" -IPv4Address "192.168.8.1" -TimeToLive 01:00:00
Add-DnsServerResourceRecordA -Name "SRV-02" -ZoneName "asrbd.dev" -IPv4Address "192.168.8.2" -TimeToLive 01:00:00
Read-Host "Finished?"
Restart-Computer