VMWare में नई वर्चुअल मशीन को परिनियोजित करने के लिए, VM टेम्प्लेट आमतौर पर उपयोग किए जाते हैं। VMWare VM टेम्प्लेट कॉन्फ़िगर की गई सेटिंग्स, इंस्टॉल किए गए सॉफ़्टवेयर और सुरक्षा अपडेट के साथ एक संदर्भ वर्चुअल मशीन कॉपी है। एक व्यवस्थापक को इसे अद्यतित रखने के लिए VM टेम्पलेट को नियमित रूप से अपडेट करने की आवश्यकता होती है:नए Windows सुरक्षा अपडेट इंस्टॉल करें (महीने में कम से कम एक बार), सिस्टम और एप्लिकेशन ऐप्स अपडेट करें, एंटीवायरस परिभाषाएं अपडेट करें, आदि।
VMWare पर VM टेम्पलेट की अद्यतन प्रक्रिया में निम्नलिखित चरण होते हैं:
- सामग्री पुस्तकालय से एक टेम्पलेट को वर्चुअल मशीन में बदल दिया जाता है।;
- इसे शुरू करने के बाद, एक व्यवस्थापक लॉग ऑन करता है, WSUS का उपयोग करके स्वीकृत Windows अद्यतन स्थापित करता है, आवश्यक सॉफ़्टवेयर अद्यतन करता है;
- अपडेट स्थापित होने के बाद, VM को पुनरारंभ किया जाता है, फिर चालू किया जाता है और वापस टेम्पलेट में परिवर्तित किया जाता है।
इस लेख में हम दिखाएंगे कि कैसे मैन्युअल रूप से कुछ भी किए बिना स्वचालित रूप से VMWare वर्चुअल मशीन टेम्पलेट में विंडोज अपडेट स्थापित करें।
VMWare वर्चुअल मशीनों के लिए, आप सीधे विंडोज इमेज में अपडेट को एकीकृत करने के तरीकों का उपयोग करने में सक्षम नहीं होंगे जो स्टैंड-अलोन इमेज या डिस्ट्रो के लिए उपयोग किए जाते हैं।Windows वर्चुअल मशीन में अद्यतन स्थापित करने के लिए आप PowerCLI का उपयोग कर सकते हैं। हम मानते हैं कि VMWare उपकरण, PowerShell संस्करण 4 (या नया), और PSWindowsUpdate मॉड्यूल वर्चुअल मशीन टेम्पलेट में स्थापित हैं। स्क्रिप्ट निष्पादन नीति द्वारा अतिथि OS में PowerShell स्क्रिप्ट चलाने की अनुमति दी जानी चाहिए।
नीचे दी गई PowerCLI स्क्रिप्ट आपको VMWare टेम्प्लेट को VM में स्वचालित रूप से बदलने और WSUS से सुरक्षा अपडेट स्थापित करने में मदद करेगी:
# PowerCLI मॉड्यूल आयात करें
आयात-मॉड्यूल VMware.VimAutomation.Core -ErrorAction चुपचाप जारी रखें
# vCenter से कनेक्ट करें
connect-viser de-vcenter1
$TeplateVMName="Win2016StdTemplate "
# टेम्पलेट को VM में बदलें
सेट-टेम्पलेट -टेम्पलेट $TeplateVMName -ToVM -Confirm:$false -RunAsync
# 60 सेकंड की देरी करें
स्टार्ट-स्लीप - s 60
# वर्चुअल मशीन प्रारंभ करें
Start-VM -VM $TeplateVMName | Get-VMQuestion | सेट-VMQuestion -DefaultOption -पुष्टि करें:$false
Start-sleep -s 120
# एक एन्क्रिप्टेड फ़ाइल से व्यवस्थापक क्रेडेंशियल प्राप्त करें (यदि आप पासवर्ड को PS स्क्रिप्ट में स्पष्ट टेक्स्ट में नहीं रखना चाहते हैं) )
$adminname ="व्यवस्थापक"
$Pwd =प्राप्त सामग्री c:\Scripts\VMWare\vm_admin_passfile.txt | ConvertTo-SecureString $
cred =new-object -typename System.Management.Automation.PSCredential -argumentlist $adminname, $Pwd
# VMWare Tools का उपयोग करके अतिथि OS में सभी उपलब्ध अद्यतनों को स्थापित करने के लिए कमांड चलाएँ ( अद्यतन स्थापना लॉग एक फ़ाइल में सहेजा गया है:C:\temp\Update.log)
ऐसा माना जाता है कि VM एक वर्चुअल नेटवर्क में स्थित होता है, जहां वह DHCP सर्वर से IP पता प्राप्त कर सकता है। वर्चुअल मशीन में WSUS सेटिंग्स को GPO के माध्यम से परिनियोजित करने के बजाय रजिस्ट्री में संग्रहीत किया जाता है। $क्रेड | आउट-फाइल -फाइलपथ C:\temp\Update.log -Append
Start-sleep -s 1800
# VMTools संस्करण अपडेट करें
अपडेट-टूल्स -VM $TeplateVMName -NoReboot
# WinSxS कंपोनेंट स्टोर को साफ करें और DISM के साथ इमेज को ऑप्टिमाइज़ करें
Invoke-VMScript -ScriptType PowerShell -ScriptText "Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase" -VM $TeplateVMName -GuestCredential $Cred
स्टार्ट-स्लीप -s 1800
# VM को फोर्स रीस्टार्ट करें
Restart-VMGuest -VM $TeplateVMName -Confirm:$false
# VM को शट डाउन करें और इसे वापस टेम्प्लेट में बदलें
शटडाउन-VMGuest -VM $TeplateVMName -पुष्टि करें:$false -RunAsync
स्टार्ट-स्लीप -s 180
सेट-VM -VM $TeplateVMName -ToTemplate -Confirm:$false
आप इस पॉवरशेल स्क्रिप्ट को टास्क शेड्यूलर में जोड़ सकते हैं ताकि Microsoft पैच मंगलवार के कुछ दिनों बाद महीने में एक बार स्वचालित रूप से टेम्पलेट में अपडेट स्थापित हो सके। फिर यदि आप VMWare टेम्पलेट से एक नई वर्चुअल मशीन परिनियोजित करते हैं, तो आप सुनिश्चित हो सकते हैं कि इसमें नवीनतम Microsoft सुरक्षा अद्यतन स्थापित हैं।