আমি কোনও মেশিনে স্থানীয় প্রশাসক গোষ্ঠীতে একটি নির্দিষ্ট ব্যবহারকারী যুক্ত করতে পাওয়ারশেল ব্যবহার করতে চাই। স্থানীয় মেশিনে প্রশাসনের অধিকার রয়েছে এমন কোনও ব্যবহারকারী প্রসঙ্গে আমি পাওয়ারশেল স্ক্রিপ্টটি চালাচ্ছি।
আমি কোনও মেশিনে স্থানীয় প্রশাসক গোষ্ঠীতে একটি নির্দিষ্ট ব্যবহারকারী যুক্ত করতে পাওয়ারশেল ব্যবহার করতে চাই। স্থানীয় মেশিনে প্রশাসনের অধিকার রয়েছে এমন কোনও ব্যবহারকারী প্রসঙ্গে আমি পাওয়ারশেল স্ক্রিপ্টটি চালাচ্ছি।
উত্তর:
এটি অ্যাডভান্সড ফাংশন যা আমি বেশ কয়েকটি কম্পিউটারে পাওয়ারশেল ব্যবহার করে স্থানীয় প্রশাসক গোষ্ঠীতে ব্যবহারকারীদের যুক্ত করতে ব্যবহার করি।
ব্যবহার: গেট-কনটেন্ট সি: uters কম্পিউটার.টেক্সট | স্থানীয়-অ্যাডমিনগ্রুপ মেম্বারশিপ-অ্যাকাউন্ট 'আপনার হিসাব'
Function Global:Set-LocalAdminGroupMembership
{
<#
.Synopsis
.Description
.Parameter $ComputerName,
.Example
PS> Set-LocalAdminGroupMembership -ComputerName $ComputerName -Account 'YourAccount'
.Link
about_functions
about_functions_advanced
about_functions_advanced_methods
about_functions_advanced_parameters
.Notes
NAME: Set-LocalAdminGroupMembership
AUTHOR: Innotask.com\dmiller
LASTEDIT: 2/4/2010 2:30:05 PM
#Requires -Version 2.0
#>
[CmdletBinding()]
param(
[Parameter(Position=0, ValueFromPipeline=$true)]
$ComputerName = '.',
[Parameter(Position=1, Mandatory=$true)]
$Account
)
Process
{
if($ComputerName -eq '.'){$ComputerName = (get-WmiObject win32_computersystem).Name}
$ComputerName = $ComputerName.ToUpper()
$Domain = $env:USERDNSDOMAIN
if($Domain){
$adsi = [ADSI]"WinNT://$ComputerName/administrators,group"
$adsi.add("WinNT://$Domain/$Account,group")
}else{
Write-Host "Not connected to a domain." -foregroundcolor "red"
}
}# Process
}# Set-LocalAdminGroupMembership
সার্ভার 2016 এবং উইন্ডোজ 10 সংস্করণ 1607 এবং তারপরে আপনি নতুন পাওয়ারশেল স্থানীয় ব্যবহারকারী সেমিডলেট ব্যবহার করতে পারেন:
Add-LocalGroupMember -Group Administrators -Member username
এটি উইন্ডোজ ম্যানেজমেন্ট ফ্রেমওয়ার্ক (ডাব্লুএমএফ) 5.1 এ যুক্ত হয়েছিল।
Microsoft.PowerShell.LocalAccounts
মডিউল 2012 R2 হলো উপর কাজ করে জরিমানা করে যদি আপনি একজন মধ্যে ফাইল কপি $env:PsModulePath
অবস্থান।
এখানে একটি সাধারণ 2 লাইন স্ক্রিপ্ট যা এই ফাংশনটি সম্পাদন করে
$group = [ADSI]("WinNT://"+$env:COMPUTERNAME+"/administrators,group")
$group.add("WinNT://$env:USERDOMAIN/usernameiwantoadd,user")
আরও তথ্যের জন্য দেখুন ওহে, স্ক্রিপ্টিং গাই! একটি স্থানীয় গ্রুপে একটি ডোমেন ব্যবহারকারী যুক্ত করতে আমি কীভাবে উইন্ডোজ পাওয়ারশেল ব্যবহার করতে পারি?
সুতরাং নোট একটি দম্পতি আছে। প্রথম লাইনে আমি স্ট্রিং কনটেনটেশন ব্যবহার করেছি, আমাকে করতে হবে না (পরের লাইনটি দেখুন) তবে আমি পছন্দ করি কারণ এটি আমার ব্যবহার করা ভেরিয়েবলগুলিকে উচ্চারণ করতে সহায়তা করে। দ্বিতীয়ত, এই লাইনগুলি কোনও ডোমেন ব্যবহারকারীকে যুক্ত করবে, আপনি যদি কোনও স্থানীয় ব্যবহারকারীকে সরিয়ে ফেলতে চান তবে$env:USERDOMAIN/
এটি করার আরেকটি উপায় এখানে। এটি প্রশাসক প্রসঙ্গে চালানো দরকার:
$ ডোমেইন = "" u computername = "$ env: computername" $ গ্রুপ = $ computer.psbase.children.find ( "প্রশাসক") ফাংশন অ্যাডটোগ্রুপ ($ সংখ্যা) { । group.add ("WinNT: //" + $ ডোমেন + "/" + $ সংখ্যা) } এই ডোমেন ব্যবহারকারী / গোষ্ঠীগুলিকে স্থানীয় প্রশাসক গোষ্ঠীতে যুক্ত করুন অ্যাডটোগ্রুপ "" অ্যাডটোগ্রুপ "" স্থানীয় প্রশাসক গোষ্ঠীতে এই ডোমেন কম্পিউটার অ্যাকাউন্টগুলি যুক্ত করুন। # কম্পিউটার অ্যাকাউন্ট সর্বদা with দিয়ে শেষ হয় $ অ্যাডটোগ্রুপ "$"
আমার ওয়েবসাইটে আরও তথ্য ।
লক্ষ্য সুরক্ষা গোষ্ঠীতে ইতিমধ্যে বিদ্যমান অ্যাকাউন্ট যুক্ত করা ত্রুটি ও ত্রুটি উত্থাপন করে যাতে আপনার অ্যাকাউন্টটি ইতিমধ্যে যুক্ত হয়েছে কিনা তা যাচাই করা দরকার, তবে আমার প্রয়োজনটি পাওয়ারশেল v2.0 এর সাথে পিছনে সামঞ্জস্যপূর্ণ হওয়া উচিত ছিল
নীচের স্নিপেটটি আমি স্থানীয় প্রশাসক গোষ্ঠীতে এমন একজন ব্যবহারকারীকে যুক্ত করতে ব্যবহার করি যা উইন্ডোজ সার্ভারগুলির জন্য পাওয়ার শেলের পুরানো সংস্করণে ২০১ 2016 এর আগে কাজ করে The কোড উদাহরণ স্থানীয় প্রশাসক গোষ্ঠীতে কাস্টম আইআইএস অ্যাপপুল পরিচয় ব্যবহার করার জন্য একটি পরিষেবা অ্যাকাউন্ট যুক্ত করে।
$appPoolIdentity = "DOMAIN\svc-acc-name"
# check if user is already member of the local administrators group - using case insensitive string comparison
if(((invoke-command {net localgroup administrators}) -match ($appPoolIdentity -replace '\\','\\')).Count -eq 0){
Write-Host "The app pool identity user '$appPoolIdentity' is not found in the local 'Administrators' group."
# add user to the local administrators group
$adminGroup = [ADSI]("WinNT://$env:COMPUTERNAME/administrators,group")
$adminGroup.Add("WinNT://$appPoolIdentity,user")
Write-Warning "Added '$appPoolIdentity' to the local 'Administrators' group."
}else{
Write-Host "The app pool identity user '$appPoolIdentity' is already member of local 'Administrators' group."
}
net localgroup administrators
উপরের বিবৃতিতে ব্যবহারের জন্য ক্রেডিট এই ব্লগ পোস্টে যায় ।