initial commit

This commit is contained in:
2026-09-06 02:03:36 +01:00
commit 57d2f3619e
42 changed files with 3379 additions and 0 deletions

63
config.psd1 Normal file
View File

@@ -0,0 +1,63 @@
# ============================================================
# 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
}