Lab/Windows Server 2022-template

From Slaskete wiki
Revision as of 16:30, 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): 50
      4. Discard: true
    5. CPU:
      1. Sockets: 1
      2. Cores: 2
    6. Memory:
      1. 6144 (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 (Desktop Experience)
    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".