উত্তর:
নিম্নলিখিত উইন্ডো 2003 আর 2 এসপি 2, উইন্ডোজ সার্ভার 2012 আর 2 এ কাজ করে
wmimgmt.msc) বৈশিষ্ট্যগুলি ডায়ালগটি উপস্থিত করুন । সুরক্ষা ট্যাবে, হাইলাইট করুন Root/CIMV2, সুরক্ষা ক্লিক করুন; যোগ পারফরমেন্স মনিটর ব্যবহারকারীরা এবং বিকল্প সক্রিয় করা হয়: Enable AccountএবংRemote Enabledcomcnfg। কম্পোনেন্ট সার্ভিস> কম্পিউটার> আমার কম্পিউটার এ প্রোপার্টি এর এর COM নিরাপত্তা ট্যাবে ক্লিক ডায়ালগ উভয়ের জন্য "সম্পাদনা সীমা" Access Permissionsএবং Launch and Activation Permissions। পারফরম্যান্স মনিটর ব্যবহারকারীদের যুক্ত করুন এবং দূরবর্তী অ্যাক্সেস, রিমোট লঞ্চ এবং দূরবর্তী অ্যাক্টিভেশনকে অনুমতি দিন।Remote Launchএবং Remote Activationসুবিধা দিন ।নোট:
Rootস্তরগুলিতে ২ এ সেটিংস সেট করতে পারেন এবং Advancedউইন্ডোতে সাব-নেমস্পেসে অনুমতিগুলি পুনরাবৃত্তি করতে পারেনSecurityডিফল্টরূপে, শুধুমাত্র স্থানীয় প্রশাসক গোষ্ঠীর ডাব্লুএমআই-তে দূরবর্তী অনুমতি রয়েছে। আপনাকে ডাব্লুএমআই "রিমোট সক্ষম" অনুমতিগুলি কাস্টমাইজ করতে হবে।
আপনি ঠিক কী করার চেষ্টা করছেন তার উপর নির্ভর করে আপনাকে "ডিসিওএম রিমোট অ্যাক্সেস অনুমতি" এবং / অথবা "ডিসিওএম রিমোট লঞ্চ এবং অ্যাক্টিভেশন অনুমতিগুলি "ও দিতে হতে পারে। এই এমএসডিএন নিবন্ধটি ধাপে ধাপে পদ্ধতি দেয়।
নিম্নলিখিতটি আমার জন্য একটি 2012 আর 2 ডোমেন পরিবেশে কাজ করেছে যদিও আমি কেবল এটি সার্ভারে না শুধুমাত্র সম্পূর্ণ ডোমেনের জন্য পরিচালিত হয়েছিল:
1) পারফরম্যান্স লগ ব্যবহারকারী গ্রুপে ব্যবহারকারী যুক্ত করুন। ২) wmimgmt.msc চালান, "ডাব্লুএমআই কন্ট্রোল (লোকাল), সুরক্ষা ট্যাবটিতে ডান ক্লিক করুন এবং পছন্দসই নামফলকটিতে যথাযথ ব্যবহারকারী" অ্যাকাউন্ট সক্ষম করুন "এবং" রিমোট সক্ষম "মঞ্জুরি দিন (সাধারনত সিআইএমভি 2)।
আমি যদি পুরো ডোমেনটির জন্য এটি পরিচালনা করি তবে আমি ফিরে এসে আপডেট করব।
নির্বাচিত উত্তরের ভিত্তিতে আমি ডাব্লুএমআই সুরক্ষা সেট করতে মাইক্রোসফ্ট থেকে স্ক্রিপ্টটি পরিবর্তন করেছি। আমার পরীক্ষার ব্যবহারকারী একজন প্রশাসনিক ডোমেন ব্যবহারকারী ছিলেন যা এই সমস্যা সম্পর্কিত নয় কারণে স্থানীয় সিস্টেমে "রিমোট ম্যানেজমেন্ট ব্যবহারকারী" এর সদস্য ছিলেন । আমার ব্যবহারকারীকে টার্গেট নেমস্পেসে সক্ষমযোগ্য অ্যাকাউন্ট, রিমোটএনেবল এবং এক্সিকিউটমেথডস অনুমতি দেওয়ার পরে, আমি ডাব্লুএমআই অ্যাক্সেস করতে সক্ষম হয়েছি।
তাই, আমি না না আমার ব্যবহারকারী যোগ পারফরমেন্স মনিটর ব্যবহারকারীরা বা ডিস্ট্রিবিউটেড এর COM ব্যবহারকারীরা স্থানীয় গোষ্ঠী।
লিপি সংক্রান্ত কয়েকটি নোট:
$OBJECT_INHERIT_ACE_FLAGস্ক্রিপ্টটি নীচে রয়েছে। আমি এর নাম সেট-ডাব্লুএমআইএনমেস্পেসসিকিউরিটি.পিএস 1 রেখেছি
Param ([Parameter(Mandatory=$true,Position=0)] [string]$Namespace,
[Parameter(Mandatory=$true,Position=1)] [ValidateSet("Add","Remove")] [string]$Operation,
[Parameter(Mandatory=$true,Position=2)] [string] $Account,
[Parameter(Mandatory=$false,Position=3)] [ValidateSet("EnableAccount","ExecuteMethods","FullWrite","PartialWrite","ProviderWrite","RemoteEnable","ReadSecurity","WriteSecurity")] [string[]] $Permissions=$null,
[Parameter(Mandatory=$false)] [switch]$AllowInherit,
[Parameter(Mandatory=$false)] [switch]$Deny,
[Parameter(Mandatory=$false)] [string]$ComputerName=".",
[Parameter(Mandatory=$false)] [System.Management.Automation.PSCredential]$Credential=$null)
$OBJECT_INHERIT_ACE_FLAG = 0x1
$CONTAINER_INHERIT_ACE_FLAG = 0x2
$ACCESS_ALLOWED_ACE_TYPE = 0x0
$ACCESS_DENIED_ACE_TYPE = 0x1
$WBEM_ENABLE = 0x01
$WBEM_METHOD_EXECUTE = 0x02
$WBEM_FULL_WRITE_REP = 0x04
$WBEM_PARTIAL_WRITE_REP = 0x08
$WBEM_WRITE_PROVIDER = 0x10
$WBEM_REMOTE_ACCESS = 0x20
$WBEM_RIGHT_SUBSCRIBE = 0x40
$WBEM_RIGHT_PUBLISH = 0x80
$READ_CONTROL = 0x20000
$WRITE_DAC = 0x40000
$WBEM_S_SUBJECT_TO_SDS = 0x43003
$ErrorActionPreference = "Stop"
$InvokeParams=@{Namespace=$Namespace;Path="__systemsecurity=@";ComputerName=$ComputerName}
if ($PSBoundParameters.ContainsKey("Credential")) { $InvokeParams+= @{Credential=$Credential}}
$output = Invoke-WmiMethod @InvokeParams -Name "GetSecurityDescriptor"
if ($output.ReturnValue -ne 0) { throw "GetSecurityDescriptor failed: $($output.ReturnValue)" }
$ACL = $output.Descriptor
if ($Account.Contains('\')) {
$Domain=$Account.Split('\')[0]
if (($Domain -eq ".") -or ($Domain -eq "BUILTIN")) { $Domain = $ComputerName }
$AccountName=$Account.Split('\')[1]
}
elseif ($Account.Contains('@')) {
$Somain=$Account.Split('@')[1].Split('.')[0]
$AccountName=$Account.Split('@')[0]
}
else {
$Domain = $ComputerName
$AccountName = $Account
}
$GetParams = @{Class="Win32_Account" ;Filter="Domain='$Domain' and Name='$AccountName'"}
$Win32Account = Get-WmiObject @GetParams
if ($Win32Account -eq $null) { throw "Account was not found: $Account" }
# Add Operation
if ($Operation -eq "Add") {
if ($Permissions -eq $null) { throw "Permissions must be specified for an add operation" }
# Construct AccessMask
$AccessMask=0
$WBEM_RIGHTS_FLAGS=$WBEM_ENABLE,$WBEM_METHOD_EXECUTE,$WBEM_FULL_WRITE_REP,$WBEM_PARTIAL_WRITE_REP,$WBEM_WRITE_PROVIDER,$WBEM_REMOTE_ACCESS,$READ_CONTROL,$WRITE_DAC
$WBEM_RIGHTS_STRINGS="EnableAccount","ExecuteMethods","FullWrite","PartialWrite","ProviderWrite","RemoteEnable","ReadSecurity","WriteSecurity"
$PermissionTable=@{}
for ($i=0; $i -lt $WBEM_RIGHTS_FLAGS.Count; $i++) { $PermissionTable.Add($WBEM_RIGHTS_STRINGS[$i].ToLower(), $WBEM_RIGHTS_FLAGS[$i]) }
foreach ($Permission in $Permissions) { $AccessMask+=$PermissionTable[$Permission.ToLower()] }
$ACE=(New-Object System.Management.ManagementClass("Win32_Ace")).CreateInstance()
$ACE.AccessMask=$AccessMask
# Do not use $OBJECT_INHERIT_ACE_FLAG. There are no leaf objects here.
if ($AllowInherit.IsPresent) { $ACE.AceFlags=$CONTAINER_INHERIT_ACE_FLAG }
else { $ACE.AceFlags=0 }
$Trustee=(New-Object System.Management.ManagementClass("Win32_Trustee")).CreateInstance()
$Trustee.SidString = $Win32Account.SID
$ACE.Trustee=$Trustee
if ($Deny.IsPresent) { $ACE.AceType = $ACCESS_DENIED_ACE_TYPE } else { $ACE.AceType = $ACCESS_ALLOWED_ACE_TYPE }
$ACL.DACL+=$ACE
}
#Remove Operation
else {
if ($Permissions -ne $null) { Write-Warning "Permissions are ignored for a remove operation" }
[System.Management.ManagementBaseObject[]]$newDACL = @()
foreach ($ACE in $ACL.DACL) {
if ($ACE.Trustee.SidString -ne $Win32Account.SID) { $newDACL+=$ACE }
}
$ACL.DACL = $newDACL
}
$SetParams=@{Name="SetSecurityDescriptor"; ArgumentList=$ACL}+$InvokeParams
$output = Invoke-WmiMethod @SetParams
if ($output.ReturnValue -ne 0) { throw "SetSecurityDescriptor failed: $($output.ReturnValue)" }
আমরা এটি পিআরটিজির জন্য করেছি: আমরা একটি নতুন ডোমেন ব্যবহারকারী তৈরি করেছি: তার ব্যবহারকারীকে "পারফরমেন্স লগ ব্যবহারকারী" গ্রুপে রাখার জন্য একটি জিপিও ডিট তৈরি করেছি এবং এই ব্যবহারকারীকে ডাব্লুএমআই নিয়ন্ত্রণে যুক্ত করতে পাওয়ারশেল স্ক্রিপ্ট ব্যবহার করেছি। ধন্যবাদ: