Lab/Windows Server 2022-template

From Slaskete wiki
Revision as of 15:35, 20 June 2022 by Einarjh (talk | contribs)
Jump to navigation Jump to search

En template for Windows Server 2022 trengs som kan være grunnlag for de serverne vi trenger.

  1. Last ned ISO fra https://www.microsoft.com/en-us/evalcenter/download-windows-server-2022
  2. Fra noden proxmox velges "Create VM", og følgende valg gjøres:
    1. General:
      1. VM ID: 1000
      2. Name: win-2022
      3. Start at boot: false
    2. OS:
      1. storage: local
      2. ISO image: velg ISO-filen som ble lastet ned for Windows Server 2022
      3. Guest OS Type: Microsoft Windows
      4. Guest OS Version: 10/2016/2019 (selv om dette er Windows Server 2022)
    3. System:
      1. Graphic card: SPICE
      2. Qemu Agent: true
      3. Add TPM: True
      4. TPM Storage: local-lvm
    4. Disks:
      1. Bus/Device: VirtIO Block
      2. Storage: local-lvm
      3. Disk size (GiB): 40
      4. Discard: true
    5. CPU:
      1. Sockets: 1
      2. Cores: 2
    6. Memory:
      1. 4096 (6 GiB)
    7. Network:
      1. Bridge: vmbr1
      2. Model: VirtIO
      3. VLAN Tag: 10
  3. Under installasjonen gjøres følgende valg:
    1. Time and currency format: Norwegian Bokmål
    2. Keyboard or input method: Norwegian
    3. Operating system: Windows Server 2022 Standard Evaluation
    4. Aksepterer EULA, velger "Custom" på installation type.
    5. På spørsmål om hvor Windows skal installeres må man trykke Load Driver, og på VM-en sin Hardware-fane må ISO-en endres midlertidig til virtio-win-0.1.217.iso - velg OK, velg Red Hat VirtIO SCSI pass-through controller (D:\amd64\2k22\vioscsi.inf) -> Next. Sett så ISO-filen tilbake til Windows 2022-installeren.
    6. Velg disken som har dukket opp, så Next
  4. La Windows-installasjonen fullføre. Plugg inn virtio-ISO-en igjen, naviger til den og start virtio-win-guest-tools.exe og installer den med default-innstillinger. Dette setter på plass nettverks-drivere, sørger for at mus og kopiering av tekst o.l fungerer bedre, lar deg endre oppløsning ved å endre størrelse på vinduet osv.
  5. Sett nettverks-innstillinger: IP 10.0.10.3 med gateway 10.0.10.1, netmask 255.255.255.0 og DNS-server 1.1.1.1
  6. Kjør Windows-oppdateringer og restart til alt er OK.
  7. Klargjør maskinen for fjernstyring fra Ansible via WinRM ved å kjøre følgende kommandoer i Powershell som admin (fra denne guiden: https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
$file = "$env:temp\ConfigureRemotingForAnsible.ps1"
(New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)
powershell.exe -ExecutionPolicy ByPass -File $file -DisableBasicAuth $True -EnableCredSSP

Test at Ansible klarer å snakke med hosten via WinRM:

ansible all -i 10.0.10.3, -u Administrator --ask-pass -m win_command -a "ipconfig" -e ansible_connection=winrm -e ansible_winrm_transport=credssp -e ansible_winrm_server_cert_validation=ignore -e ansible_winrm_message_encryption=always

Dette skal gi output som ser ca. sånn ut:

10.0.10.3 | CHANGED | rc=0 >>

Windows IP Configuration


Ethernet adapter Ethernet Instance 0:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::21b9:f85f:6f41:b790%3
   IPv4 Address. . . . . . . . . . . : 10.0.10.3
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.10.1

Nå som Windows-oppdateringer og WinRM er satt opp så kan maskinen klargjøres for å bli til template:

cd C:\Windows\System32\Sysprep\
.\sysprep.exe /oobe /generalize /shutdown

Når maskinen har slått seg av så konverteres maskinen til image ved å høyreklikke på VM-en og velge "Convert to template".