NewComputers.psm1

<# Skript för att byta datornamn och IP adress för nya datorer, den också installerar ADDS, ADDSDomainController till en existerade domän och installerar File server med FSRM.
   
   Date: 24/03/2020
    
   Author: Hayder Alshiblawi
#>


Function Install-hayalsNewComputers {


Clear-Host
Write-Host "`n`n`n`n`n`n`n`n`n"
Do {
        Do {
            Write-Host "
            New Computers Script
 
            Computer 1
            -----------------------------------------
            1 = Computer1 - Rename and Set IP Addresses
            2 = Computer1 - Rename Only
            3 = Computer1 - Set IP Addresses Only
            4 = Computer1 - DC Promote
     
            Computer 2
            -----------------------------------------
            5 = Computer2 - Rename and Set IP Addresses
            6 = Computer2 - Rename Only
            7 = Computer2 - Set IP Addresses Only
            8 = Computer2 - Add A Domain Controller To An Existing Domain
     
            Computer 3
            -----------------------------------------
            9 = Computer3 - Rename and Set IP Addresses
            10 = Computer3 - Rename Only
            11 = Computer3 - Set IP Addresses Only
            12 = Computer3 - File Server
            0 = Exit
            "

            [int]$choice = read-host -Prompt "Select number & press enter"
            } until ( ($choice -ge 0) -and ($choice -le 12))

        Switch ($choice) {
                0 {
                Exit
                }
                1 {
                    Rename-Computer -NewName DC01
                    New-NetIPAddress -InterfaceAlias "Ethernet0 2" -IPAddress 172.17.100.40 -PrefixLength 16 -AddressFamily IPv4 -DefaultGateway 172.17.100.1
                    Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 172.17.100.40
                    Restart-Computer -Force
                    }
                2 {
                    Rename-Computer -NewName DC01
                    Restart-Computer -Force
                    }
                3 {
                    New-NetIPAddress -InterfaceAlias "Ethernet0 2" -IPAddress 172.17.100.40 -PrefixLength 16 -AddressFamily IPv4 -DefaultGateway 172.17.100.1
                    Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 172.17.100.40
                    }
                4 {
                    if ( $env:computername.ToUpper() -eq "DC01") {
                                Invoke-Command -ScriptBlock {
                                Import-Module ServerManager
                                Add-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
                                Import-Module ADDSDeployment
                                Install-ADDSForest `
                                -CreateDnsDelegation:$false `
                                -DatabasePath "C:\Windows\NTDS" `
                                -DomainMode "7" `
                                -DomainName "ARK.se" `
                                -DomainNetbiosName "ARK" `
                                -ForestMode "7" `
                                -InstallDns:$true `
                                -LogPath "C:\Windows\NTDS" `
                                -NoRebootOnCompletion:$false `
                                -SysvolPath "C:\Windows\SYSVOL" `
                                -Force:$true `
                                -SafeModeAdministratorPassword (ConvertTo-SecureString 'Hallon20' -AsPlainText -Force)
                                }
                             } ELSE {
                                Write-Host "[!] Change Computer Name and Reboot Before DC Promote [!]" -BackgroundColor Red -ForegroundColor White
                                
                             }
                    }
                5 {
                    Rename-Computer -NewName DC02
                    New-NetIPAddress -InterfaceAlias "Ethernet0 2" -IPAddress 172.17.100.41 -PrefixLength 16 -AddressFamily IPv4 -DefaultGateway 172.17.100.41
                    Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 172.17.100.40
                    Restart-Computer -Force
                    }
                6 {
                    Rename-Computer -NewName DC02
                    Restart-Computer -Force
                    }
                7 {
                    New-NetIPAddress -InterfaceAlias "Ethernet0 2" -IPAddress 172.17.100.41 -PrefixLength 16 -AddressFamily IPv4 -DefaultGateway 172.17.100.1
                    Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 172.17.100.40
                    }

                8 {
                    if ( $env:computername.ToUpper() -eq "DC02") {
                            Invoke-Command -ScriptBlock {
                            Import-Module ServerManager
                            Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
                            Import-Module ADDSDeployment
                            Install-ADDSDomainController `
                            -DomainName "ARK.se" `
                            -CreateDnsDelegation:$false `
                            -InstallDns:$true `
                            -Credential $(Get-Credential) `
                            -DatabasePath "C:\Windows\NTDS" `
                            -LogPath "C:\Windows\NTDS" `
                            -SysvolPath "C:\Windows\SYSVOL" `
                            -NoGlobalCatalog:$false `
                            -SiteName "Default-First-Site-Name" `
                            -Force:$true `
                            -CriticalReplicationOnly:$false `
                            -SafeModeAdministratorPassword (ConvertTo-SecureString 'Hallon20' -AsPlainText -Force) `
                            -NoRebootOnCompletion:$false
                            
                            }
                          } ELSE {
                                Write-Host "[!] Change Computer Name and Reboot First [!]" -BackgroundColor Yellow -ForegroundColor Black
                                
                          }
                     
                     }
                9 {
                    Rename-Computer -NewName FILESERVER
                    New-NetIPAddress -InterfaceAlias "Ethernet0 2" -IPAddress 172.17.100.42 -PrefixLength 16 -AddressFamily IPv4 -DefaultGateway 172.17.100.1
                    Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 172.17.100.40
                    Restart-Computer -Force
                    }
                10 {
                    Rename-Computer -NewName FILESERVER
                    Restart-Computer -Force
                    }
                11 {
                    New-NetIPAddress -InterfaceAlias "Ethernet0 2" -IPAddress "172.17.100.42" -PrefixLength 16 -AddressFamily IPv4 -DefaultGateway 172.17.100.1
                    Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 172.17.100.40
                    
                    }
                12 {
                   Import-Module ServerManager
                   $features = @("FileAndStorage-Services","FS-FileServer","FS-Resource-Manager")
                   Install-WindowsFeature -Name $features -IncludeManagementTools
                    }

                }
    } Until ($choice -eq 0)

    }