উইন্ডোজ ফিচার রিসোর্স এবং নেট-ফ্রেমওয়ার্ক -45-কোর বৈশিষ্ট্যের মাধ্যমে উইন্ডোজ সার্ভার 2012 আর 2 তে নেট নেট ফ্রেমওয়ার্ক 4.5 ইনস্টল করতে পারি। আমার প্রশ্ন, .NET 4.5.2 ইনস্টল করা আছে তা নিশ্চিত করতে আমি কীভাবে পাওয়ারশেল ডিএসসি ব্যবহার করব?
উইন্ডোজ ফিচার রিসোর্স এবং নেট-ফ্রেমওয়ার্ক -45-কোর বৈশিষ্ট্যের মাধ্যমে উইন্ডোজ সার্ভার 2012 আর 2 তে নেট নেট ফ্রেমওয়ার্ক 4.5 ইনস্টল করতে পারি। আমার প্রশ্ন, .NET 4.5.2 ইনস্টল করা আছে তা নিশ্চিত করতে আমি কীভাবে পাওয়ারশেল ডিএসসি ব্যবহার করব?
উত্তর:
এটি এখনও ওপি দ্বারা প্রয়োজনীয় কিনা তা নিশ্চিত নয়, তবে সম্প্রতি আমি ঠিক একই চ্যালেঞ্জটি পেয়েছি এবং ইনস্টলার নিজেই অনেক সমস্যা পেয়েছি, যখন কেবলমাত্র 2012 আর 2 সার্ভারে প্যাকেজ সংস্থান ব্যবহার করার চেষ্টা করার সময়। একটি স্ক্রিপ্ট রিসোর্স লিখতে হবে এবং ওয়েব ইনস্টলারটি পুরো প্যাকেজটি খুব সাধারণ ত্রুটির সাথে সঙ্কুচিত করতে ব্যর্থ হওয়ায় ওয়েব ইনস্টলারটি ব্যবহার করতে হবে।
যাইহোক, এখানে একটি কার্যকারী স্ক্রিপ্ট সংস্থান যা আমি শেষ করেছি:
Configuration Net452Install
{
node "localhost"
{
LocalConfigurationManager
{
RebootNodeIfNeeded = $true
}
Script Install_Net_4.5.2
{
SetScript = {
$SourceURI = "https://download.microsoft.com/download/B/4/1/B4119C11-0423-477B-80EE-7A474314B347/NDP452-KB2901954-Web.exe"
$FileName = $SourceURI.Split('/')[-1]
$BinPath = Join-Path $env:SystemRoot -ChildPath "Temp\$FileName"
if (!(Test-Path $BinPath))
{
Invoke-Webrequest -Uri $SourceURI -OutFile $BinPath
}
write-verbose "Installing .Net 4.5.2 from $BinPath"
write-verbose "Executing $binpath /q /norestart"
Sleep 5
Start-Process -FilePath $BinPath -ArgumentList "/q /norestart" -Wait -NoNewWindow
Sleep 5
Write-Verbose "Setting DSCMachineStatus to reboot server after DSC run is completed"
$global:DSCMachineStatus = 1
}
TestScript = {
[int]$NetBuildVersion = 379893
if (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' | %{$_ -match 'Release'})
{
[int]$CurrentRelease = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Release
if ($CurrentRelease -lt $NetBuildVersion)
{
Write-Verbose "Current .Net build version is less than 4.5.2 ($CurrentRelease)"
return $false
}
else
{
Write-Verbose "Current .Net build version is the same as or higher than 4.5.2 ($CurrentRelease)"
return $true
}
}
else
{
Write-Verbose ".Net build version not recognised"
return $false
}
}
GetScript = {
if (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' | %{$_ -match 'Release'})
{
$NetBuildVersion = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Release
return $NetBuildVersion
}
else
{
Write-Verbose ".Net build version not recognised"
return ".Net 4.5.2 not found"
}
}
}
}
}
Net452Install -OutputPath $env:SystemDrive:\DSCconfig
Set-DscLocalConfigurationManager -ComputerName localhost -Path $env:SystemDrive\DSCconfig -Verbose
Start-DscConfiguration -ComputerName localhost -Path $env:SystemDrive:\DSCconfig -Verbose -Wait -Force
dsc_script
সংস্থানগুলির মাধ্যমেও কাজ করে।
এই মাইক্রোসফ্ট টেকনেট আর্টিকেল অনুসারে , ইনস্টল করার জন্য বৈশিষ্ট্যটির নাম গেট-উইন্ডোজ ফিচার কমান্ডের ফলাফল থেকে একটি হওয়া উচিত । সুতরাং, .NET 4.5.2 তালিকায় উপস্থিত না হলে আপনি ডিএসসির মাধ্যমে এটি ইনস্টল করা নিশ্চিত করতে পারবেন না।
নাম আপনি যে ভূমিকা বা বৈশিষ্ট্যটি নিশ্চিত করতে চান তা যুক্ত করা বা অপসারণের নাম নির্দেশ করে ic এটি গেট-উইন্ডোজ ফিচার সেমিডিলেট থেকে নাম বৈশিষ্ট্যের সমান এবং ভূমিকা বা বৈশিষ্ট্যের প্রদর্শন নাম নয়।
সুতরাং আমি অনুমান করি যে আপনাকে ডিসিএস (4.5) এর মাধ্যমে মুখ্য সংস্করণটি ইনস্টল করতে হবে এবং তারপরে 4.5.4 এ আপডেট করার সেরা সমাধানটি বের করতে হবে।