# ============================================================ # DNS Migration Configuration File # ============================================================ # Edit this file before running Invoke-DnsMigration.ps1 # All parameters can be overridden at runtime via script params # ============================================================ @{ # ---- DNS Settings ---------------------------------------- # New Domain Controller DNS IP (target after migration) NewDNS = @("10.35.40.1") # Old Domain Controller DNS IPs (will be replaced) OldDNS = @("10.35.10.1", "10.35.10.2") # Active Directory domain name — used for DNS resolution validation Domain = "corp.local" # ---- Windows Discovery ----------------------------------- # AD OU to query for Windows servers (distinguished name) # Example: "OU=Servers,OU=Datacenter,DC=corp,DC=local" OUPath = "OU=Servers,DC=corp,DC=local" # ---- Linux Connectivity ---------------------------------- # SSH username (must be a sudoer on all Linux targets) LinuxSSHUser = "adminuser" # SSH password for the above user # This is stored in plaintext — restrict access to this file (e.g. 600 permissions) # Alternatively pass -LinuxSSHPassword at runtime to avoid storing it here LinuxSSHPassword = "YourPasswordHere" # Path to plink.exe (PuTTY command-line SSH client) # Download PuTTY from https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html # plink.exe is used for password-based SSH from Windows PowerShell PlinkPath = "C:\Tools\plink.exe" # SSH connection timeout in seconds SSHConnectTimeout = 30 # ---- Windows Connectivity -------------------------------- # Optional Windows credentials for remote connections (WinRM / PSSession / PsExec). # If left blank, the script uses the implicit identity of the user running it # (Kerberos / current logged-in domain account — recommended for domain environments). # Set these only if you need to connect as a different account. # Example: "CORP\migration-svc" or just "migration-svc" for local accounts WindowsUsername = "" WindowsPassword = "" # Path to PsExec.exe (used as last-resort fallback for Windows) # Download from https://learn.microsoft.com/en-us/sysinternals/downloads/psexec PsExecPath = "C:\Tools\PsExec.exe" # WinRM connection timeout in seconds WinRMTimeout = 30 # ---- Output ---------------------------------------------- # Directory where logs, reports and rollback files are written OutputDir = ".\logs" # ---- Execution ------------------------------------------- # Max concurrent server operations when -Parallel is used ThrottleLimit = 20 }