Добавление пользователя группе локального администратора, использующей powershell

Включите один из своих компьютеров непосредственно в Ваше интернет-соединение и позвольте ему получить все, что это - параметры сети от Вашего ISP. Если Вы не можете получить доступ к сайтам затем, это - проблема ISP, если Вы можете затем он быть проблемой маршрутизатора, и можно пойти оттуда.

15
задан 4 December 2015 в 19:40
6 ответов

Это - Усовершенствованная Функция, Которую я использую для добавления пользователей к использованию группы локального администратора Powershell на нескольких компьютерах.

Использование: получать-содержание C:\Computers.txt | набор-LocalAdminGroupMembership - считает 'YourAccount'


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
4
ответ дан 2 December 2019 в 20:46

Добавляющая учетная запись, которая уже существует в целевых повышениях группы безопасности и ошибке, таким образом, необходимо проверить, добавляется ли учетная запись уже, однако мое требование должно было быть обратно совместимым вниз к PowerShell v2.0

Ниже, отрывок, который я использую, чтобы добавить пользователя к группе локальных администраторов, которая работает над более старыми версиями PowerShell для Windows Server предшествующий 2016. Пример кода добавляет сервисную учетную запись, привыкшую для пользовательских идентификационных данных IIS AppPool к группе локальных администраторов.

$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 в, если оператор выше движений к это сообщение в блоге .

0
ответ дан 2 December 2019 в 20:46

Вот простые 2 сценария строки, которые выполняют эту функцию

$group = [ADSI]("WinNT://"+$env:COMPUTERNAME+"/administrators,group")
$group.add("WinNT://$env:USERDOMAIN/usernameiwantoadd,user")

Для получения дополнительной информации посмотрите Эй, Пишущий сценарий Парня! Как я могу Использовать Windows PowerShell, чтобы Добавить Пользователя домена к Локальной Группе?

Таким образом, существует несколько примечаний. В первой строке я использовал конкатенацию строк, я не имел к (см. следующую строку), но мне нравится к тому, потому что она помогает подчеркнуть переменные, которые я использую. Во-вторых, эти строки добавят пользователя домена, если Вы хотели добавить, что локальный пользователь просто удаляет $env:USERDOMAIN/

16
ответ дан 2 December 2019 в 20:46
  • 1
    Я хотел бы запустить этот скрипт на рабочих станциях таким способом, которым человек, запускающий скрипт, может указать имя пользователя. Следовательно Хост Чтения –  Rihan Meij 9 March 2010 в 10:09
  • 2
    так в этом случае сделайте первый $userInput строки = Хост Чтения " Введите имя пользователя, чтобы добавить к локальному администратору group" затем используйте $userinput, где, говорит usernameiwantoadd –  Jim B 9 March 2010 в 16:27

Вот еще один способ сделать это. Это необходимо запустить в контексте администратора:

$domain=""
$computername= "$env:computername"
$group=$computer.psbase.children.find("administrators")

function AddToGroup($number)
{
     $group.add("WinNT://"+$domain+"/"+$number )
}

#Add these domain users/groups to the local administrator group
 AddToGroup ""
 AddToGroup ""

#Add these domain computer accounts to the local administrator group. 
#Computer accounts always end with $.
AddToGroup "$"

Дополнительная информация на моем веб-сайте .

0
ответ дан 2 December 2019 в 20:46

В Server 2016 и Windows 10 версии 1607 и более поздних вы можете использовать новые локальные пользовательские командлеты PowerShell:

Add-LocalGroupMember -Group Administrators -Member username

Это было добавлено в Windows Management Framework (WMF) 5.1.

Модуль Microsoft.PowerShell.LocalAccounts отлично работает в 2012 R2, если вы просто скопируете файлы в папку $ env: PsModulePath .

19
ответ дан 2 December 2019 в 20:46

Простой шаг для добавления пользователя домена в группу администраторов:

Add-LocalGroupMember -Group Administrators -Member $env:USERDOMAIN\<username>

Примечание. Убедитесь, что вы запускаете PowerShell «от имени администратора».

3
ответ дан 18 January 2021 в 07:44

Теги

Похожие вопросы