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

Исключение программ

Исключить определенные программы мы можем по нескольким причинам. Это могут быть:

  1. Стандартные программы. Например Adobe Reader будет на большинстве компьютеров.
  2. Не несут информационной пользы. В список программ могут входить пакеты обновлений.

Я создал следующий список:

Использование знака * в названиях говорит, что в этой части строки может находится еще текст, но не обязательно. 

Для исключения программ я сделал еще один командлет, который будет принимать 2 параметра:

  1. Список программ в переменной $Programs
  2. Список исключений в переменной $ExcludeList

Теперь мы можем исключать программы так:

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

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

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

Examples

Example 1: Add a local computer to a domain then restart the computer

This command adds the local computer to the Domain01 domain and then restarts the computer to make
the change effective.

Example 3: Add a local computer to a domain

This command adds the local computer to the Domain01 domain by using the Domain01\DC01 domain
controller.

The command uses the PassThru and Verbose parameters to get detailed information about the
results of the command.

Example 4: Add a local computer to a domain using the OUPath parameter

This command adds the local computer to the Domain02 domain. It uses the OUPath parameter to specify
the organizational unit for the new accounts.

Example 5: Add a local computer to a domain using credentials

This command adds the Server01 computer to the Domain02 domain. It uses the LocalCredential
parameter to specify a user account that has permission to connect to the Server01 computer. It uses
the Credential parameter to specify a user account that has permission to join computers to the
domain. It uses the Restart parameter to restart the computer after the join operation completes
and the Force parameter to suppress user confirmation messages.

Example 6: Move a group of computers to a new domain

This command moves the Server01 and Server02 computers, and the local computer, from Domain01 to
Domain02.

It uses the LocalCredential parameter to specify a user account that has permission to connect
to the three affected computers. It uses the UnjoinDomainCredential parameter to specify a user
account that has permission to unjoin the computers from the Domain01 domain and the Credential
parameter to specify a user account that has permission to join the computers to the Domain02
domain. It uses the Restart parameter to restart all three computers after the move is complete.

Example 7: Move a computer to a new domain and change the name of the computer

This command moves the Server01 computer to the Domain02 and changes the machine name to Server044.

The command uses the credential of the current user to connect to the Server01 computer and unjoin
it from its current domain. It uses the Credential parameter to specify a user account that has
permission to join the computer to the Domain02 domain.

Example 8: Add computers listed in a file to a new domain

This command adds the computers that are listed in the file to the Domain02 domain. It
uses the Options parameter to specify the Win9xUpgrade option. The Restart parameter
restarts all of the newly added computers after the join operation completes.

Example 9: Add a computer to a domain using predefined computer credentials

This first command should be run by an administrator from a computer that is already joined to
domain :

This combination of commands creates a new computer account with a predefined name and temporary
join password in a domain using an existing domain-joined computer. Then separately, a computer with
the predefined name joins the domain using only the computer name and the temporary join password.
The predefined password is only used to support the join operation and is replaced as part of normal
computer account procedures after the computer completes the join.

Get-ADComputer — синтаксис использования командлета

Чтобы получать информацию из AD с помощью командлетов из модуля AD для PowerShell, вам не нужны права администратора домена. Достаточно, чтобы учётная запись, под которой запускается командлет, была членом группы «Domain Users / Authenticated Users».

Чтобы получить информацию о конкретной учётной записи компьютера в домене, укажите её имя в качестве аргумента параметра -Identity:

Get-ADComputer -Identity hackware-server

Пример вывода:

DistinguishedName : CN=HACKWARE-SERVER,OU=Domain Controllers,DC=ds,DC=hackware,DC=ru
DNSHostName       : HackWare-Server-2022.ds.hackware.ru
Enabled           : True
Name              : HACKWARE-SERVER
ObjectClass       : computer
ObjectGUID        : 77e65141-ebec-4728-a1cc-563199d86bf8
SamAccountName    : HACKWARE-SERVER$
SID               : S-1-5-21-670420343-3848213752-1643348011-1000
Get-ADComputer -Identity hackware-server -Properties *

Используя Get-Member, вы можете получить список всех свойств объекта ADComputer:

Get-ADComputer -Filter * -Properties * | Get-Member

Дата последнего входа компьютеров в сеть указана в атрибуте LastLogonDate.

Командлет Get-ADComputer позволяет отображать любые свойства компьютера в результатах выполнения команды. Удалите всю ненужную информацию, оставив только значения атрибутов Name и LastLogonDate.

Get-ADComputer -identity hackware-win -Properties * | Format-Table Name,LastLogonDate -Autosize

Итак, мы получили данные о последней регистрации в домене для отдельного компьютера. Затем вам нужно изменить команду, чтобы она отображала информацию о времени последней сетевой регистрации для всех компьютеров в домене. Для этого замените -Identity на -Filter *:

Get-ADComputer -Filter * -Properties * | Format-Table Name,LastLogonDate -Autosize

У нас получилась простая таблица, которая содержит всего 2 поля: имя компьютера и дата LastLogonData. Вы можете добавить в эту таблицу другие поля объекта ADComputer.

Чтобы отобразить информацию об объектах компьютеров в определённом OU (организационном подразделении), используйте параметр -SearchBase:

Get-ADComputer -SearchBase 'OU=Paris,DC=woshub,DC=loc' -Filter * -Properties * | Format-Table Name,LastLogonDate -Autosize

Отсортируйте результаты запроса по дате последнего входа в систему с помощью командлета Sort-Object:

Get-ADComputer -Filter * -Properties * | Sort-Object LastLogonDate | Format-Table Name,LastLogonDate -Autosize

Итак, у нас есть список компьютеров и дата их последнего входа в домен Active Directory. Теперь мы хотим отключить учётные записи компьютеров, которые не использовались в течение 120 или более дней.

Используя Get-Date, мы можем получить значение текущей даты в переменной и уменьшить его до 120 дней:

$date_with_offset = (Get-Date).AddDays(-120)

Полученную переменную даты можно использовать как фильтр запроса Get-ADComputer в поле LastLogonDate:

Get-ADComputer -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort-Object LastLogonDate | Format-Table Name,LastLogonDate -Autosize

Итак, мы создали список неактивных учётных записей компьютеров, которые не регистрировались в сети более 120 дней. Используйте команду Disable-ADAccount или Set-ADComputer, чтобы отключить их.

Совет. В первый раз лучше проверить результаты выполнения команды с помощью переключателя -WhatIf, который позволяет увидеть, что произойдёт, если бы команда была запущена, но при этом в системе ничего изменено не будет.

Get-ADComputer -Properties LastLogonDate -Filter {LastLogonData -lt $date_with_offset } | Set-ADComputer -Enabled $false -WhatIf

Теперь вы можете отключить все неактивные учётные записи компьютеров:

Get-ADComputer -Properties LastLogonDate -Filter {LastLogonData -lt $date_with_offset } | Set-ADComputer -Enabled $false

Примечание. Также вы можете получить список заблокированных, отключённых и неактивных компьютеров и пользователей домена с помощью отдельного командлета Search-ADAccount.

Работа с объектами

Так как PowerShell работает с объектами, он позволяет выполнять некие действия над этими объектами, например:

  • Measure-Object – командлет позволяет рассчитывать на основе свойств объектов такие числовые агрегирующие параметры как: минимальное, максимальное, среднее значение, сумму и количество. Например, Вы хотите узнать максимальный или средний размер файла в определенном каталоге, или просто узнать количество файлов (запущенных процессов, служб и так далее);
  • Select-Object – с помощью данного командлета можно выбрать определенные объекты или свойства этих объектов, например Вы хотите выводить только название файла и его размер;
  • Sort-Object — сортирует объекты по значениям свойств;
  • Where-Object – командлет для того чтобы ставить условие для выборки объектов на основе значений их свойств;
  • Group-Object – группирует объекты, которые содержат одинаковое значение для заданных свойств;
  • ForEach-Object – перебор объектов с целью выполнения определенной операции над каждым из этих объектов.

Prerequisites

To use the Get-AdComputer cmdlet, your system needs to have the following requirement:

  • PowerShell Active Directory module to be installed
  • User with administrator access or have enough access to read Active Directory information

Tip: To know about which PowerShell modules are available in the system, run the below command in PowerShell ISE

Get-Module -ListAvailable

This command returns all the modules installed and available in the system. If an Active Directory module is not available then follow Active Directory installation steps.

Cool Tip: How to get certificates using PowerShell!

Идентификатор события блокировки учётной записи 4740

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

Если ближайший к пользователю контроллер домена определяет, что пользователь пытается войти в систему с недопустимыми учётными данными, он перенаправляет запрос проверки подлинности на контроллер домена с эмулятора основного контроллера домена (этот конкретный контроллер домена отвечает за обработку блокировок учётных записей). Если аутентификация на PDC завершается неудачно, он отвечает на первый DC, что аутентификация невозможна. Если количество неудачных проверок подлинности превышает значение, установленное для домена в политике Account Lockout Threshold (Пороговое значение блокировки), учётная запись пользователя временно блокируется.

В этом случае событие с EventID 4740 записывается в журнал безопасности обоих контроллеров домена. Событие содержит DNS-имя (IP-адрес) компьютера, с которого пришел первоначальный запрос на авторизацию пользователя. Чтобы не анализировать журналы на всех контроллерах домена, проще всего искать события блокировки в журнале безопасности на PDC контроллера домена. Вы можете найти PDC в своём домене следующим образом:

(Get-AdDomain).PDCEmulator

События блокировки учётной записи домена можно найти в журнале безопасности на контроллере домена. Чтобы его увидеть, запустите Event Viewer («Просмотр событий»), его можно открыть в командной строке:

eventvwr.msc

В окне Event Viewer («Просмотр событий») перейдите по пути Event Viewer (Local) → Windows Logs → Security (в русскоязычной версии это Просмотр событий (локальный) → Журналы Windows → Безопасность).

В Event Viewer («Просмотр событий») отфильтруйте журнал безопасности по Event ID («Код события») указав значение 4740, для этого нажмите Filter Current Log («Фильтр текущего журнала») и введите в поле <All Event Ids> («Все коды событий») значение 4740.

Вы должны увидеть список последних событий блокировки учётной записи. Найдите событие с нужной вам учётной записью пользователя (имя пользователя указано в значении поля Account Name («Имя учётной записи»). В описании события вы увидите строку A user account was locked out («Учетная запись пользователя была заблокирована»).

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

Откройте найденное событие. Имя компьютера (сервера), с которого была произведена блокировка, указывается в поле Caller Computer Name. В моём случае имя компьютера — HACKWARE-WIN.

Получение информации

1. Список всех групп

Без фильтра:

Get-AdGroup -filter *

С фильтром:

Get-AdGroup -filter * | Where {$_.name -like «*free*»} | fl name

* будут выбраны все группы, в названии которых встречается free.

2. Подробная информация о группе

Get-ADGroup «Domain Users» -Properties *

* где ключ -Properties * покажет информацию о всех атрибутах группы.

Показать только SID и GUID группы:

Get-ADGroup «Domain Admins» | ft ObjectGUID, SID

3. Посмотреть членов группы

Перечень членов групп с базовой информацией о каждом пользователе:

Get-ADGroupMember -Identity Administrators

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

Get-ADGroupMember -Identity Administrators | ft name

Рекурсивный запрос:

Get-ADGroupMember -Identity Administrators -Recursive | ft name

* в данном примере используется ключ Recursive — это позволяет вывести на экран не только членов группы Administrators, но и членов групп, которые входят в эту группу.

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

Get-ADGroupMember -Identity «Users» | foreach { Get-ADUser $_ -Properties * }

Расчет выполняется методом Count:

(Get-ADGroupMember -Identity Administrators).Count

5. В каких группах состоит пользователь

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

Get-ADUser Administrator -Properties Memberof | Select -ExpandProperty memberOf

6. Список пустых групп

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

Get-ADGroup -filter * | where {-Not ($_ | Get-ADGroupMember)} | Select Name

7. Cписок пользователей, которые не входят в конкретную группу

Get-ADuser -Filter * -Properties MemberOf | where { -Not ($_.MemberOf -match «Managers») } | Select Name

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

Microsoft Account Lockout and Management Tools (Инструменты блокировки и управления учётной записью от Microsoft)

Запустите средство Lockoutstatus.exe, укажите имя заблокированной учётной записи (Target User Name) и имя домена (Target Domain Name).

Появившийся список будет содержать список контроллеров домена и статус учётной записи (Locked или Non Locked). Кроме того, отображается время блокировки и компьютер, на котором эта учётная запись заблокирована (Orig Lock), но в моём случае компьютер, который стал причиной блокировки, показан неверно.

Атрибуты badPwdCount и LastBadPasswordAttempt не реплицируются между контроллерами домена.

Вы можете разблокировать учётную запись пользователя или изменить пароль прямо из окна Lockoutstatus.

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

New-ADOrganizationalUnit: создание организационной единицы в AD

Чтобы быстро создать типичную структуру организационной единицы в AD, вы можете использовать сценарий PowerShell. Предположим, вы хотите создать несколько подразделений с именами состояний и создать в них типичные контейнеры объектов. Создание этой структуры AD вручную с помощью графической оснастки ADUC занимает довольно много времени. Модуль AD для PowerShell позволяет сделать это за секунды (кроме времени на написание скрипта):

$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain
$Ext = $domain
$Sites = ("Nevada","Texas","California","Florida")
$Services = ("Users","Admins","Computers","Servers","Contacts","Service Accounts")
$FirstOU ="USA"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
ForEach-Object ($S in $Sites)
{
	New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
	ForEach-Object ($Serv in $Services)
	{
		New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
	}
}

После запуска сценария в Active Directory появляется следующая структура подразделений.

Outputs

Microsoft.ActiveDirectory.Management.ADComputer

Returns one or more computer objects.

This Get-ADComputer cmdlet returns a default set of ADComputer property values. To retrieve additional ADComputer properties, use the Properties parameter of this cmdlet.

To view the properties for an ADComputer object, see the following examples. To run these examples, replace with a computer identifier such as the SAM account name of your local computer.

To get a list of the default set of properties of an ADComputer object, use the following command:

To get a list of all the properties of an ADComputer object, use the following command:

Get-ADComputer -Properties ALL | Get-Member

PowerShell командлет Get-ADComputer можно использовать для получения различных сведений об учётных записях компьютеров (серверах и рабочих станциях) в домене Active Directory. Это один из наиболее полезных командлетов для выборки и поиска компьютеров по разным критериям в домене AD ( для получения информации об учетных записях пользователей AD используется другой командлет — Get-ADUser).

Допустим, ваша задача – найти в Active Directory все неактивные компьютеры, которые не регистрировались в домене более 120 дней и заблокировать учетные записи этих компьютеров.

Прежде чем приступить к работе с командлетом Get-ADComputer, необходимо подключить модуль Active Directory Module for Windows PowerShell.

Get-AdComputer FAQ

How to find a computer in AD using Get-ADComputer -Filter name?

Consider an example, to find computer name ‘comp-1’ in active directory, use below commandIn the above example, it returns the computer name if get-adcomputer filter name like ‘comp-1’ in active directory.However, if you want to use a computer name stored in a variable and find it

How to use PowerShell cmdlet get-adcomputer to filter operating system?

If you want to find all the computers having Windows 10 operating system using get-adcomputer filter, use the below commandGet-ADComputer -Filter {OperatingSystem -like ‘*Windows 10*’}In the above PowerShell get-adcomputer example, the command returns a list of the computers if get-adcomputer filter operating system like ‘*Window 10*’

How to use Get-AdComputer filter to find computers in OU

To find computers in OU (organizational unit) using the Get-AdComputer filter parameter, use the below commandGet-ADComputer -Filter * -SearchBase “OU=Sales, DC=shellgeek, DC=com”In the above PowerShell get-adcomputer filter examples, it returns a list of the computers in OU if get-adcomputer filter ou like Sales.

How to use Get-AdComputer Searchbase parameter to get computers from multiple OUs?

Let’s consider an example if you have multiple OU and you want to get a list of computers from multiple OUs using the Searchbase parameter, use the below commandUse foreach to iterate over multiple OU and use the SearchBase parameter to get a list of computers using the get-adcomputer filter with OU.

How to get ad computer last logon date?

This command returns get-adcomputer lastlogondate for computer name It-2020.Read more on difference between lastlogon and lastlogontimestamp in active directory.

How to export get-adcomputer lastlogondate Export-CSV

Let’s consider an example, we have to find computer accounts that have been not logged on to Active Directory in the last 90 days, you can get list of accounts using LastLogonTimeStamp property.# Specify timeframe$inactiveperiod = 90$time = (Get-Date).Adddays(-($inactiveperiod))Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -ResultPageSize 1000 -resultSetSize $null -Properties Name, SamAccountName| Export-CSV “C:\PowerShell\InActiveComputer.csv” –NoTypeInformationThis command performs a search for those computer accounts where lastlogontimestamp not updated in the last 90 days and export all stale or inactive computer accounts to CSV file.

Cool Tip: Check ad schema version PowerShell!

Работа с компьютером

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

  • Restart-Computer – командлет перезапускает операционную систему (перезагружает компьютер);
  • Stop-Computer – выключает компьютер;
  • Rename-Computer – переименовывает компьютер;
  • Checkpoint-Computer — создает точку восстановления системы на локальном компьютере;
  • Restore-Computer — запускает восстановление системы на локальном компьютере;
  • Disable-ComputerRestore — отключает функцию восстановления системы на указанном диске файловой системы;
  • Enable-ComputerRestore — включает функцию восстановления системы на указанном диске файловой системы;
  • Remove-Computer — удаляет локальный компьютер из домена;
  • Get-EventLog – выводит информацию о событиях в журнале событий, или список журналов событий на локальном или удаленном компьютере;
  • Clear-EventLog — удаляет записи из указанных журналов событий.

Полезные командлеты Windows PowerShell

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

  • Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
  • Update-Help — загружает и устанавливает новые файлы справки, т.е. обновление справки;
  • Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
  • Get-Alias – показывает псевдонимы, все или конкретной команды;
  • Get-PSDrive – показывает подключенные диски;
  • Get-Member – выводит свойства и методы, которые есть у объекта;
  • Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
  • Install-WindowsFeature (эквивалентен Add-WindowsFeature) — устанавливает роли или компоненты на указанный сервер;
  • Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
  • Get-History — возвращает список команд, введенных в ходе текущей сессии.

Как отследить, какой процесс блокирует учётную запись домена

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

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

  • Подключённые сетевые диски (через net use);
  • Работы Windows Task Scheduler (Планировщика заданий Windows);
  • Службы Windows, настроенные для запуска из учётной записи домена;
  • Сохранённые учётные данные в Credential Manager (Диспетчере учётных данных) (в Панели управления);
  • Браузеры;
  • Мобильные устройства (например, те, которые используются для доступа к корпоративному почтовому ящику);
  • Программы с автоматическим входом или настроенная функция автоматического входа в Windows;
  • Отключённые/незанятые сеансы RDP на других компьютерах или серверах RDS (поэтому рекомендуется установить ограничения для сеансов RDP);

Подсказка: существует ряд сторонних инструментов (в основном коммерческих), которые позволяют администратору проверять удалённый компьютер и определять источник блокировки учётной записи. В качестве достаточно популярного решения отметим Lockout Examiner от Netwrix.

Чтобы выполнить подробный аудит блокировки учётной записи на найденном компьютере, необходимо включить ряд локальных политик аудита Windows. Для этого откройте локальный редактор групповой политики (gpedit.msc) на компьютере (на котором вы хотите отслеживать источник блокировки) и включите следующие политики в разделе Computer Configurations → Windows Settings → Security Settings → Local Policies → Audit Policy:

  • Audit process tracking: Success , Failure
  • Audit logon events: Success , Failure

В русскоязычной версии это соответственно: Конфигурации компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита:

  • Аудит отслеживания событий: Успех, Отказ
  • Аудит событий входа в систему: Успех, Отказ

Дождитесь следующей блокировки учётной записи и найдите события с идентификатором события 4625 в журнале безопасности. В нашем случае это событие выглядит так:

An account failed to log on.
Failure Reason: Account locked out.

На русском это:

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

Как видно из описания события, источником блокировки учётной записи является процесс mssdmn.exe (компонент Sharepoint). В этом случае пользователю необходимо обновить пароль на веб-портале Sharepoint.

После завершения анализа и выявления и устранения причины блокировки не забудьте отключить локальные политики аудита.

Если вам по-прежнему не удаётся найти источник блокировки учётной записи на определённом компьютере, просто попробуйте переименовать имя учётной записи пользователя в Active Directory. Обычно это наиболее эффективный метод защиты от внезапных блокировок конкретного пользователя, если вы не смогли установить источник блокировки.

Вы также можете вывести список событий с кодом 4625 в PowerShell:

Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; }

Следующую команду вы можете использовать для вывода событий блокировки для конкретного пользователя (впишите его вместо MiAl):

Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; Data="MiAl" }

Следующая команда выведет подробную информацию о каждом событии блокировки для указанного пользователя (в том числе процесс, вызвавший блокировку):

Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; Data="MiAl" } | Format-List

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

$Date = (Get-Date).AddDays(-2); Get-WinEvent -FilterHashtable @{ LogName='Security'; Id='4625'; Data="MiAl"; StartTime=$Date; } | Format-List

Examples

Example 1: Get specific computer that shows all properties

This command gets a specific computer showing all the properties.

Example 2: Get all computers with a name starting with a particular string

This command gets all the computers with a name starting with a particular string and shows the name, dns hostname, and IPv4 address.

Example 3: Gets all computers that have changed their password in specific time frame

This command gets all the computers that have changed their password in the last 90 days.

Example 4: Get computer accounts in a specific location using an LDAPFilter

This command gets the computer accounts in the location CN=Computers,DC=User01,DC=com that are listed as laptops by using an LDAPFilter.

Example 5: Get all computer accounts using a filter

This command gets all computer accounts.

Командлеты PowerShell для удаленного управления

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

  • Enter-PSSession — запускает интерактивный сеанс с удаленным компьютером;
  • Exit-PSSession — завершает интерактивный сеанс с удаленным компьютером;
  • New-PSSession — создает постоянное подключение к локальному или удаленному компьютеру;
  • Remove-PSSession — закрывает один или несколько сеансов Windows PowerShell;
  • Disconnect-PSSession — отсоединяется от сеанса;
  • Connect-PSSession — подключается к отключенным сеансам;
  • Get-PSSession — получает сеансы Windows PowerShell на локальных и удаленных компьютерах;
  • Invoke-Command — выполняет команды на локальном и удаленных компьютерах.
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

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