Справочник командлетов windows powershell

Как создать нового пользователя в windows 11 (локально или онлайн)

Как изменить учетную запись пользователя на учетную запись администратора

Если вы создали стандартную учетную запись для кого-то еще (или для себя) и хотели бы предоставить ей права администратора, вот как это сделать:

Метод № 01: Использование настроек

Нажмите Win + I, чтобы открыть Настройки. Щелкните Учетные записи на левой панели.

Выберите Семья и другие пользователи.

Теперь щелкните учетную запись пользователя, которому вы хотите предоставить права администратора.

Нажмите на Изменить тип учетной записи.

Теперь щелкните раскрывающееся меню в разделе «Тип учетной записи».

Выберите администратора.

Щелкните ОК.

Теперь перезагрузите компьютер, чтобы изменения вступили в силу.

Метод № 02: Использование учетных записей пользователей

Нажмите Win + R, чтобы открыть диалоговое окно ЗАПУСК. Затем введите netplwiz и нажмите Enter.

Выберите учетную запись, которую вы хотите изменить. Затем щелкните «Свойства».

Нажмите на членство в группе, чтобы переключиться на нее.

Выберите администратора. Затем нажмите ОК.

Метод # 03: Использование командной строки

Нажмите Пуск, введите cmd и нажмите Запуск от имени администратора.

Введите следующую команду:

сетевой администратор локальной группы «имя-учетной записи» / добавить

Обязательно измените «account-name» на фактическое имя учетной записи, которой вы хотите предоставить права администратора.

Затем нажмите Enter. Перезагрузите компьютер, чтобы изменения вступили в силу.

Метод # 04: Использование PowerShell

Пользователи PowerShell могут ввести несколько другую команду, чтобы изменить тип учетной записи, чтобы сделать ее учетной записью администратора. Сначала нажмите Пуск, введите powershell, затем щелкните Запуск от имени администратора.

Теперь введите следующую команду:

Добавить-LocalGroupMember -Group «Администраторы» -Член «имя-учетной записи»

Не забудьте заменить «account-name» фактическим именем учетной записи, которую вы хотите изменить.

Затем нажмите Enter. Вот и все! Теперь вы изменили учетную запись пользователя на учетную запись администратора.

Метод № 05: Использование панели управления

Для тех, кто по-прежнему предпочитает использовать устаревшие инструменты, панель управления — еще один способ предоставить учетной записи пользователя права администратора.

Нажмите Пуск, введите панель управления и выберите ее.

В разделе «Учетные записи пользователей» нажмите «Изменить тип учетной записи».

Выберите учетную запись, которую вы хотите изменить.

Щелкните Изменить тип учетной записи.

Выберите «Администратор», затем нажмите «Изменить тип учетной записи».

Эта учетная запись пользователя теперь будет иметь права администратора.

Управление локальными пользователями и группами с помощью Windows PowerShell

Мы рассмотрим это руководство в двух частях. Это следующие:

  1. Управление локальными пользователями.
  2. Управление группами пользователей.

Для начала вам нужно будет открыть Windows PowerShell от имени администратора.

1]Управление локальными пользователями

Этот командлет поможет вам найти все подробности обо всех локальных учетных записях пользователей. Эти сведения будут включать имя учетной записи, статус «Включено» и описание. Командлет:

Get-LocalUser

Вы также можете получить индивидуальные данные о различных объектах, связанных с вашей учетной записью. Например, мы использовали объект, чтобы проверить, когда последний раз был установлен пароль локальной учетной записи. Мы использовали следующий командлет:

Get-LocalUser -Name root | Select-Object PasswordLastSet

Каркас этого командлета:

Get-LocalUser -Name root | Select-Object *

И вы можете использовать такие объекты, чтобы получать различную информацию, подобранную специально для вас:

  • AccountExpires
  • Description
  • Enabled : True
  • FullName
  • PasswordChangeableDate
  • PasswordExpires
  • UserMayChangePassword
  • PasswordRequired
  • PasswordLastSet
  • LastLogon
  • Name
  • SID
  • PrincipalSource
  • ObjectClass

2]Управление группами пользователей

Этот командлет поможет вам найти все подробности обо всех группах локальных учетных записей пользователей:

Get-LocalGroup

Если вы хотите создать новую локальную группу пользователей, используйте этот командлет:

New-LocalGroup -Name <NAME OF THE GROUP> -Description '<ENTER THE DESCRIPTION OF THE GROUP HERE>'

Теперь, чтобы добавить локальные учетные записи пользователей в определенную группу, вы можете использовать этот командлет:

Add-LocalGroupMember -Group '<NAME OF THE GROUP' -Member ('NAME 1','NAME 2','<ROLE>') -Verbose

В качестве альтернативы этот командлет можно использовать по тем же причинам:

Get-Localuser -Name john | Add-LocalGroupMember -Group '<NAME OF THE GROUP>'

И чтобы отобразить все учетные записи пользователей, которые являются частью определенной группы, используйте эту команду:

Get-LocalGroupMember -Group ''

Наконец, если вы хотите удалить локальную учетную запись пользователя из группы, используйте этот командлет:

Remove-LocalGroupMember -Group '<NAME OF THE GROUP>' –Member <NAME OF THE LOCAL USER ACCOUNT>

Это некоторые из основных управляющих командлетов, с помощью которых пользователь может управлять локальными пользователями и группами с помощью Windows PowerShell.

Надеюсь, вы нашли это руководство полезным.

Create new local user account from PowerShell

To create a standard or administrator local account with PowerShell, use these steps:

  1. Open Start on Windows 10.

  2. Search for PowerShell, right-click the top result, and select the Run as administrator option.

  3. Type the following command to temporarily store the password in a secure string inside the “$Password” variable and press Enter:

    $Password = Read-Host -AsSecureString
  4. Type the password for the new Windows 10 account and press Enter.

  5. Type the following command to create the new account with PowerShell and press Enter:

    New-LocalUser "NEW_ACCOUNT_NAME" -Password $Password -FullName "USER_FULL_NAME" -Description "DESCRIPTION"

    In the command, change NEW_ACCOUNT_NAME for the account name and USER_FULL_NAME for the user’s full name. Also, replace DESCRIPTION with the description you want to use for the account.

  6. Type the following command to add the Windows 10 account to the correct user group and press Enter:

    Add-LocalGroupMember -Group "Administrators" -Member "NEW_ACCOUNT_NAME"

    In the command, make sure to change NEW_ACCOUNT_NAME for the account name. In the above command, we add the new account to the Administrators group, which gives the user full access to the computer. However, if you want the user to have limited access, you can add the account to the Users group, making it a “Standard User.”

Once you complete the steps, the new account will be set up on the device with full access using administrative privileges. Of course, this is unless you added the account to the “Users” group, in which case the account will be a limited standard account.

Connect account to Microsoft

To link a local account with a Microsoft account, use these steps:

  1. Open Settings.

  2. Click on Accounts.

  3. Click on Your Info.

  4. Click the “Sign in with your Microsoft account instead” option.

  5. Continue with the on-screen directions to connect your account to a Microsoft account.

After you complete the steps, the new account will be connected to the Microsoft account you specified.

Просмотр и редактирование атрибутов Active Directory в оснастке ADUC

У вас откроется ADUC. Если вы зайдет в свойства любой учетной записи, в моем примере это Барбоскин Геннадий, то обнаружите, что редактор атрибутов в списке вкладок отсутствует. Чтобы его отобразить сделайте следующие действия.

Открываете вкладку «Вид», в меню находите пункт «Дополнительные компоненты», включаем его.

После чего, вкладка редактора атрибутов отобразиться в свойствах учетной записи объекта Active Directory.

Если у вас не появилась вкладка «Редактор атрибутов», после включения дополнительных компонентов, то знайте, он будет отображаться у объекта, только если вы зайдете в организационное подразделение (OU) в котором он хранится.

Вот так вот выглядит редактор атрибутов Active Directory. У вас в виде списка будут перечисляться атрибуты и их значения. Если они доступны для редактирования, то вы их можете изменить, с помощью специальной кнопки. Сразу бросаются в глаза знакомые значения:

  • CN (Common Name) — Отображаемое имя
  • LastLogon — время логирования
  • Discription — Описание

В момент изменения будет открыт редактор строковых или целочисленных атрибутов.

По умолчанию Active Directory в редакторе атрибутов, отображает, только атрибуты со значениями, то есть не пустые. Для того, чтобы увидеть все атрибуты, вам необходимо применить фильтр, через соответствующую кнопку. Снимите галку «Отображать только атрибуты со значениями». Так же можно более тонко настроить фильтрацию и задать, например, показывать, только атрибуты доступные для записи (изменения вручную) или только системные. Я вам советую посмотреть все варианты и проверить, что каждый из них отображает. Переходим к ADSI Edit.

Работа со службами и процессами

PowerShell, конечно же, умеет управлять службами и процессами в Windows, для этого существуют такие командлеты как:

  • Get-Process – выводит информацию о запущенных процессах на компьютере;
  • Start-Process – запускает один или несколько процессов на компьютере;
  • Stop-Process — останавливает один или несколько запущенных процессов;
  • Get-Service – выводит информацию о службах;
  • Restart-Service – перезапускает службу;
  • Start-Service – запускает службу;
  • Stop-Service — останавливает службу;
  • Suspend-Service – приостанавливает работу службы;
  • Set-Service – с помощью данного командлета можно изменить свойства службы, например, описание, отображаемое имя и режим запуска. Также его можно использовать для запуска, остановки или приостановки службы.

Get-ADGroup — получение информации о группе AD

Получить информацию о группе поможет командлет Get-ADGroup:

Get-ADGroup 'TestADGroup'

Эта команда отображает информацию об основных атрибутах группы (DN, тип группы, имя, SID). Чтобы отобразить значения всех атрибутов группы домена AD, выполните следующую команду:

Get-ADGroup 'TestADGroup' -Properties *

Как видите, теперь отображаются такие атрибуты, как время создания и модификации группы, описание и так далее.

Командлет Get-ADGroup позволяет находить группы по определённому шаблону. Например, вам нужно найти все группы AD, в названии которых содержится фраза admins:

Get-ADGroup -LDAPFilter "(name=*admins*)" | Format-Table

Примеры использования Get-ADUser

Давайте покажем ещё несколько полезных примеров команд для запросов пользователей Active Directory с помощью различных фильтров. Вы можете объединить их, чтобы получить необходимый список пользовательских объектов AD:

Отобразить пользователей AD, имя которых начинается с Joe:

Get-ADUser -Filter {name -like "Joe*"}

Вы можете использовать PowerShell для расчёта общего количества учётных записей пользователей в Active Directory:

Get-ADUser -Filter {SamAccountName -like "*"} | Measure-Object

Вывод списка пользователей и их свойств, размещённых в определённом организационном подразделении (контейнере) в данном случае это OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM:

Get-ADUser -Filter * -SearchBase "OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM"

Найти отключённые учётные записи пользователей Active Directory:

Get-ADUser -Filter {Enabled -eq "False"} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

Вы можете проверить дату создания учётной записи пользователя Active Directory с помощью команды:

Get-ADUser -Filter * -Properties Name,WhenCreated | Select name,whenCreated

Вы можете получить список недавно добавленных пользователей Active Directory, созданных за последние 24 часа:

$lastday = ((Get-Date).AddDays(-1))
Get-ADUser -filter {(whencreated -ge $lastday)}

Вывести список учётных записей с просроченным паролем (вы можете настроить параметры истечения срока действия пароля в политике паролей домена):

Get-ADUser -Filter {Enabled -eq $True} -Properties name,passwordExpired | Where-Object {$_.PasswordExpired}| Select-Object name,passwordexpired

Командлеты Get-ADUser и Add-ADGroupMember можно использовать для создания динамических групп пользователей AD (в зависимости от города, должности, отдела и прочего).

Задача: для списка учётных записей, которые хранятся в текстовом файле (по одной учётной записи в строке), вам необходимо получить название компании пользователя из AD и сохранить его в файл CSV (вы можете легко импортировать этот файл в Excel).

Import-Csv c:\ps\users_list.csv | ForEach {
	Get-ADUser -Identity $_.user -Properties Name,Company |
	Select-Object Name,Company |
	Export-CSV c:\ps\users_ad_list.csv -Append -Encoding UTF8
}

Пользователи, которые не меняли свои пароли в течение последних 90 дней:

$90_Days = (Get-Date).adddays(-90)
Get-ADUser -Filter {(passwordlastset -le $90_days)}

Чтобы получить фотографию пользователя из Active Directory и сохранить её в файле jpg, выполните следующие команды:

$usr = Get-ADUser sjoe -Properties thumbnailPhoto
$usr.thumbnailPhoto | Set-Content sjoe.jpg -Encoding byte

Чтобы получить список групп AD, членом которых является учётная запись пользователя:

Get-AdUser MiAl -Properties memberof | Select-Object memberof -ExpandProperty memberof

Перечислить пользователей из OU, которые являются членами определённой группы безопасности домена:

Get-ADUser -SearchBase 'OU=Rome,OU=Italy,DC=hackware,DC=ru' -Filter * -Properties memberof | Where-Object {($_.memberof -like "*CEO*")}

Перечислить компьютеры домена, на которых пользователю разрешён вход.

Get-ADUser MiAl -Properties LogonWorkstations | Format-List Name,LogonWorkstations

Чтобы искать компьютеры и фильтровать компьютеры по их свойствам в Active Directory, вы можете использовать другой командлет – Get-ADComputer.

Azure Active Directory

Azure Active Directory (Azure AD) — облачная служба управления удостоверениями и доступом. Она нужна для создания учетных записей пользователей и управления ими и применяется в облачных сервисах Microsoft, таких как Azure, Office 365, SharePoint. Если в AD для аутентификации пользователей служит Kerberos, то здесь в той же роли используется OAuth 2.0.

Синхронизация AD и Azure AD происходит по трем сценариям.

  1. Сценарий синхронизации каталога. Он позволяет синхронизировать с облаком новые учетные записи пользователей и групп, при этом логин у пользователя синхронизируется с AD, а пароль придется сменить, так как он не синхронизируется.
  2. Сценарий синхронизации паролей дает возможность пользователям логиниться в облачный сервис с паролем от локальной учетной записи AD. При этом синхронизируется логин и хеш пароля.
  3. Сценарий единого входа обеспечивает проверку подлинности пользователей в локальном каталоге AD и позволяет реализовать сценарий единого входа с использованием корпоративных учетных данных — за счет синхронизации токенов доступа.

Про атаку на сценарий единого входа много рассказать не могу, и для него нужны права администратора. Так как пароль в данном случае передается между Azure AD Connect и Azure ServiceBus в открытом виде, то есть возможность его перехватить. FileAzureadHookDLL позволяет внедрить DLL и получить пароль пользователя во время соединения. В качестве параметра данное приложение принимает PID процесса AzureADConnectAuthenticationAgentService.

Сценарий синхронизации паролей

Для нас особенно интересен сценарий синхронизации паролей (PHS). Для синхронизации данных в AD есть приложение Azure AD Connect, которое извлекает данные из AD и передает их в AAD. За синхронизацию отвечает служба DCSync.

Схема синхронизации AzureAD Connect

При создании соединения на хосте заводится новая база данных, при этом используется LocalDB для SQL Server. Мы можем просмотреть информацию о работающем экземпляре с помощью инструмента SqlLocalDb.exe.

Пример работы SqlLocalDb.exe

База данных поддерживает Azure AD Sync — в ней хранятся метаданные и конфигурации для службы. Зашифрованный пароль находится в таблице ADSync.dbo.mms_management_agent в поле encrypted_configuration, и для его расшифровки используется библиотека C:\Program Files\Microsoft Azure AD Sync\Binn\mcrypt.dll. Расшифровывать можно при помощи AzureadDecryptorMsol.ps1.

Пример работы скрипта AzureadDecryptorMsol.ps1

Как видите из конфигурации безопасности, если получится скомпрометировать сервер с Azure AD Connect и получить доступ либо к ADSyncAdmins, либо к локальным группам администраторов, то открывается возможность заполучить учетку, которая может выполнять DCSync.

Конфигурации безопасности

Переключитесь с автономной учетной записи Windows 11 на онлайн-учетную запись

Теперь, если у вас есть автономная или локальная учетная запись Windows 11, будь она создана вами или кем-то еще, вы можете интегрировать с ней свою учетную запись Microsoft и пользоваться связанными с ней преимуществами. Вот как переключиться с автономной учетной записи на онлайн в Windows 11.

Нажмите Win + I, чтобы открыть Настройки. Затем нажмите «Учетные записи» на левой панели.

Затем нажмите на вашу информацию.

В разделе «Настройки учетной записи» нажмите «Войти с учетной записью Microsoft».

Введите свой адрес электронной почты и нажмите Далее.

Подтвердите свою личность.

Затем введите текущий пароль Windows (если пароль не установлен, оставьте это поле пустым). Нажмите «Далее.

Нажмите «Далее.

Добавьте новый ПИН-код и нажмите ОК.

Вот и все! Теперь вы переключили свою офлайн-учетную запись на онлайн-аккаунт.

Изменяем область действия групп через PowerShell

Когда речь идет, о рутинных задачах и автоматизации, то всем приходит на ум язык PowerShell и это нормально, так как Microsoft его с каждым годом улучшает не реальными темпами и он может уже практически все, что вашей душе угодно. Напоминаю, что мы делаем из локальной или глобальной универсальную. Первым делом нам необходимо получить список всех групп в текстовый файл из которого мы потом будем брать данные, сделать это можно командой, открыв оснастку PowerShell:

Import-Module activedirectory

Get-ADGroup -fi * -SearchBase «OU=Groups,DC=root,DC=pyatilistnik,DC=org» | ft Name | Out-File C:\t1\group.txt

Тут будет выполнен командлет Get-ADGroup (https://docs.microsoft.com/en-us/powershell/module/addsadministration/get-adgroup?view=win10-ps), который выполнит поиск по DistinguishedName вашему организационному подразделению (OU) и выгружает все группы в файл C:\t1\group.txt.

  • Как видите у вас создался текстовый файл. Вот его содержимое, тут вам нужно удалить две вещи: Во первых Name и —-
  • А так же пробелы они у меня выделены синим

Выделяем в одной строке все пробелы

Как от них избавиться, тут нужно воспользоваться заменой в блокноте, в одно поле вы вставляете пустые пробелы во второе ничего и нажимаете заменить все.

Просто если вы это не сделаете, то получите ошибку:

Set-ADGroup : Не удается найти объект с удостоверением: «» в «DC=root,DC=pyatilistnik,DC=org». строка:10 знак:1 + Set-ADGroup $GroupName -GroupScope Universal + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (:ADGroup) , ADIdentityNotFoundException + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundExc eption,Microsoft.ActiveDirectory.Management.Commands.SetADGroup

Set-ADGroup : Не удается найти объект с удостоверением: «» в «DC=root,DC=pyatilistnik,DC=org». строка:10 знак:1 + Set-ADGroup $GroupName -GroupScope Universal + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (:ADGroup) , ADIdentityNotFoundException + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundExc eption,Microsoft.ActiveDirectory.Management.Commands.SetADGroup

Когда файл с нужным значением готов, приступаем к его обработке,

ниже представлен код который вам поможет произвести преобразование групп и изменить их область применения. Вот код скрипта, который вы должны запускать или в PowerShell ISE или просто из самой оболочки.

#Цикл по извлечению списка групп из файла $Filename = «C:\t1\group.txt»

#Цикл для каждой найденной группы ForEach ( $GroupName in (Get-Content $Filename) )

{

# Изменяем уровень действия группы Set-ADGroup $GroupName -GroupScope Universal

# Если нужно глобальную преобразовать в локальную, то это делается в два этапа # Set-ADGroup $GroupName -GroupScope Universal # Set-ADGroup $GroupName -GroupScope DomainLocal

# Если нужно в глобальную, то пишем Set-ADGroup $GroupName -GroupScope Global

#Вывод измененных групп # Код взят с https://pyatilistnik.org

$GroupName

}

Проверяем результат нашей работы, как видим локальные группы были преобразованы в универсальные, мы сэкономили кучу времени.

Форматирование в Windows PowerShell

В Windows PowerShell существует набор командлетов, которые предназначены для форматирования вывода результата работы командлета. Они позволяют пользователю отобразить результат в том виде, в котором ему удобно просматривать данный результат.

  • Format-List – вывод результата команды в формате списка свойств, где на каждой новой строке отдельное свойство;
  • Format-Table — вывод результата команды в виде таблицы;
  • Format-Wide — вывод результата команды в виде широкой таблицы, в которой отображается только одно свойство каждого объекта;
  • Format-Custom – в данном случае форматирование вывода происходит с использованием пользовательского представления.
Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: