VMWare-এ নতুন ভার্চুয়াল মেশিন ডিপ্লয় করার জন্য সাধারণত VM টেমপ্লেট ব্যবহার করা হয়। VMWare VM টেমপ্লেট হলো একটি রেফারেন্স ভার্চুয়াল মেশিন কপি যেটিতে কনফিগার্ড সেটিংস, ইনস্টল করা সফটওয়্যার এবং সিকিউরিটি আপডেট থাকে। একজন অ্যাডমিনিস্ট্রেটরকে VM টেমপ্লেট নিয়মিত আপডেট করতে হয় যাতে এটি আপ-টু-ডেট থাকে: নতুন উইন্ডোজ সিকিউরিটি আপডেট ইনস্টল করা (কমপক্ষে মাসে একবার), সিস্টেম এবং অ্যাপ্লিকেশন অ্যাপ আপডেট করা, অ্যান্টিভাইরাস ডেফিনিশন আপডেট করা, ইত্যাদি।
VMWare-এ VM টেমপ্লেট আপডেট প্রসেস নিচের ধাপগুলো নিয়ে গঠিত:
- Content Library থেকে একটি টেমপ্লেট ভার্চুয়াল মেশিনে কনভার্ট করা;
- এটি চালু করার পর, অ্যাডমিনিস্ট্রেটর লগ অন করে, WSUS ব্যবহার করে অনুমোদিত উইন্ডোজ আপডেট ইনস্টল করে, প্রয়োজনীয় সফটওয়্যার আপডেট করে;
- আপডেট ইনস্টল হওয়ার পর, VM রিস্টার্ট করা হয়, তারপর বন্ধ করে আবার টেমপ্লেটে কনভার্ট করা।
এই আর্টিকেলে আমরা দেখব কিভাবে ম্যানুয়াল কিছু না করে অটোমেটিকভাবে VMWare ভার্চুয়াল মেশিন টেমপ্লেটে উইন্ডোজ আপডেট ইনস্টল করা যায়।
VMWare ভার্চুয়াল মেশিনের জন্য, স্ট্যান্ড-অ্যালোন ইমেজ বা ডিস্ট্রোর জন্য ব্যবহৃত আপডেট ইন্টিগ্রেশন মেথডগুলো সরাসরি ব্যবহার করা যাবে না।
পাওয়ারশেল স্ক্রিপ্ট চালানোর অনুমিত থাকতে হবে গেস্ট OS-এ স্ক্রিপ্ট এক্সিকিউশন পলিসি দ্বারা।
নিচের PowerCLI স্ক্রিপ্টটি আপনাকে অটোমেটিকভাবে VMWare টেমপ্লেটকে VM-এ কনভার্ট করে WSUS থেকে সিকিউরিটি আপডেট ইনস্টল করতে সাহায্য করবে:
# Import the PowerCLI module
Import-Module VMware.VimAutomation.Core -ErrorAction SilentlyContinue
# Connect to vCenter
connect-viserver de-vcenter1
$TeplateVMName="Win2016StdTemplate"
# Convert a template to a VM
Set-Template -Template $TeplateVMName -ToVM -Confirm:$false –RunAsync
# Make a 60 seconds delay
Start-sleep -s 60
# Start the virtual machine
Start-VM -VM $TeplateVMName | Get-VMQuestion | Set-VMQuestion -DefaultOption -Confirm:$false
Start-sleep -s 120
# Get an administrator credentials from an encrypted file (if you do not want to keep the password in the PS script in clear text)
$adminname = "administrator"
$Pwd = Get-Content c:\Scripts\VMWare\vm_admin_passfile.txt | ConvertTo-SecureString $
cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $adminname, $Pwd
# Run the command to install all available updates in the guest OS using VMWare Tools (the update installation log is saved to a file: C:\temp\Update.log)
মান লিন যে VM একটি ভার্চুয়াল নেটওয়ার্কে অবস্থিত যেখানে এটি DHCP সার্ভার থেকে IP ঠিকানা পেতে পারে। ভার্চুয়াল মেশিনে WSUS সেটিংস রেজিস্ট্রিতে সংরক্ষিত থাকে GPO দিয়ে ডিপ্লয় করার বদলে।
Invoke-VMScript -ScriptType PowerShell -ScriptText "Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot" -VM $TeplateVMName -GuestCredential $Cred | Out-file -Filepath C:\temp\Update.log -Append
Start-sleep -s 1800
# Update VMTools version
Update-Tools -VM $TeplateVMName -NoReboot
# Clean up the WinSxS component store and optimize the image with DISM
Invoke-VMScript -ScriptType PowerShell -ScriptText "Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase" -VM $TeplateVMName -GuestCredential $Cred
Start-sleep -s 1800
# Force restart the VM
Restart-VMGuest -VM $TeplateVMName -Confirm:$false
# Shut the VM down and convert it back to the template
Shutdown-VMGuest –VM $TeplateVMName -Confirm:$false –RunAsync
Start-sleep -s 180
Set-VM –VM $TeplateVMName -ToTemplate -Confirm:$false
এই পাওয়ারশেল স্ক্রিপ্টটি Task Scheduler-এ যোগ করে মাসে একবার মাইক্রোসফট প্যাচ টিউজডের কয়েক দিন পর টেমপ্লেটে অটোমেটিক আপডেট ইনস্টল করা যাবে। তাহলে যদি আপনি VMWare টেমপ্লেট থেকে নতুন ভার্চুয়াল মেশিন ডিপ্লয় করেন, তবে নিশ্চিত থাকতে পারেন যে এর মধ্যে লেটেস্ট মাইক্রোসফট সিকিউরিটি আপডেট ইনস্টল করা আছে।