ServerPrepTools.psm1
function Set-InitialInfo { $IPAddress = Read-host -Prompt "Enter IP Address" Set-TimeZone -Id "Eastern Standard Time" $adapter = Get-NetAdapter Ethernet New-NetIPAddress -IPAddress $IPAddress -InterfaceAlias $adapter.ifAlias -DefaultGateway 10.0.0.1 -AddressFamily IPv4 -PrefixLength 24 } function Join-Domain { Add-Computer -NewName $name -Credential (Get-Credential) -DomainName "corp.relrepairs.com" -Restart } function Enable-RemotingSettings { Enable-PSRemoting -Force winrm quickconfig } function Enable-AutoUpdates { Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUoptions" -Name newproperty -Value "4" } function Install-DomainTools { Install-WindowsFeature AD-Domain-Services,DHCP -IncludeAllSubFeature -IncludeManagementTools -restart } function New-DomainController { param( [string] $DomainNetbiosName, [string] $DomainName ) $hash = @{ Confirm = $false SafeModeAdministratorPassword = (ConvertTo-SecureString -AsPlainText -force "Drake416!#") } Install-ADDSForest @hash } function Add-NetworkSettings { #Authorize DHCP Server in AD Add-DHCPServerinDC Add-DHCPServerv4Scope -Name "CORP" -StartRange 10.0.0.10 -EndRange 10.0.0.150 -SubnetMask 255.255.255.0 Set-DhcpServerv4OptionValue -DnsServer 10.0.0.6 -DnsDomain "relrepairs.com" -Router 10.0.0.1 } function Set-ADInfra { $RR = "RR" $UsersOU = "Users" $GroupOU = "Groups" $WorkstationOU = "Workstations" $ServerOU = "Servers" $Path = "DC=corp,dc=relrepairs,dc=com" $OUPath = "OU=RR,DC=corp,dc=relrepairs,dc=com" #Create OU Structure New-ADOrganizationalUnit -Name $RR -DisplayName $RR -Path $Path $UsersOU, $GroupOU, $ServerOU, $WorkstationOU | ForEach-Object { New-ADOrganizationalUnit -Name "$_" -DisplayName "$_" -Path $OUPath } #Create AD Users $userpath = (Get-ADOrganizationalUnit -Filter 'Name -eq "Users"').DistinguishedName $name = @() "Udeh Ndukwe", "Klyde Johnson", "Ryan Kelsey", "John Rogers", "Melissa Bradley", "Antiona Weatherspoon" | ForEach-Object { $name += $_ } $name | ForEach-Object { New-AdUser -Name $_ -Path $userpath -Enabled $true -Company "Reliable Repairs" -SamAccountName $_.Replace(" ", ".").ToLower() -UserPrincipalName ($_.Replace(" ", ".").ToLower() + '@relrepairs.com') -AccountPassword (ConvertTo-SecureString -AsPlainText -Force "Drake416!#") } #Create AD Groups "IT", "Sales", "HR" | ForEach-Object { New-ADGroup -DisplayName $_ -Name $_ -GroupScope Global } #AD Group Memberships -- Udeh and Klyde $adusers = get-aduser -filter * | Where-Object {($_.Name -eq "Klyde Johnson") -or ($_.Name -eq "Udeh Ndukwe")} "Domain Admins", "Schema Admins", "Enterprise Admins", "Group Policy Creator Owners" | ForEach-Object { Add-ADGroupMember -Identity $_ -Members $adusers } } |