Справочная информация — Клёвый код https://coolcode.ru Скриптописание и кодинг Mon, 06 Jul 2020 02:07:20 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.8.13 https://coolcode.ru/wp-content/uploads/2015/10/YO1-150x150.png Справочная информация — Клёвый код https://coolcode.ru 32 32 PowerShell. Get-ADGroupMember https://coolcode.ru/powershell-get-adgroupmember/ https://coolcode.ru/powershell-get-adgroupmember/#respond Wed, 12 Oct 2016 06:19:39 +0000 http://coolcode.ru/?p=10095

ОПИСАНИЕ

Получает элементы группы Active Directory.

СИНТАКСИС

Get-ADGroupMember [-Identity] <ADGroup> [-AuthType {Negotiate | Basic}] [-Credential <PSCredential>] [-Partition <string>] [-Recursive <switch>] [-Server <string>] [<CommonParameters>]

ОПИСАНИЕ

Командлет Get-ADGroupMember получает элементы группы Active Directory. Элементами могут быть пользователи, группы и компьютеры.

Параметр Identity определяет группу Active Directory, к которой производится обращение. Группу можно идентифицировать по ее различающемуся имени (DN), значению GUID, идентификатору безопасности (SID) или имени учетной записи SAM. Группу можно также задать, передав объект группы по конвейеру. Например, можно использовать командлет Get-ADGroup, чтобы извлечь объект группы, и затем передать этот объект по конвейеру командлету Get-ADGroupMember.

Если задан параметр Recursive, командлет получает все элементы из иерархии группы, которые не содержат дочерних объектов. Например, если группа InnaOzhoginaReports содержит пользователя SvetlanaOmelchenko и группу VadimKorepinReports, а группа VadimKorepinReports содержит пользователя AlexeyOrekhov, то данный командлет возвратит значения SvetlanaOmelchenko и AlexeyOrekhov.

Для сред AD LDS необходимо задать параметр Partition, за исключением двух следующих случаев.
— Командлет запускается с диска поставщика Active Directory.
— Для среды AD LDS определен контекст или раздел именования по умолчанию. Чтобы задать контекст именования по умолчанию для среды AD LDS, задайте значение свойства msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.

 

ПАРАМЕТРЫ

-AuthType <ADAuthType>

Задает используемый метод проверки подлинности. Возможные значения параметра:
Negotiate или 0
Basic или 1

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

Для метода проверки подлинности Basic требуется SSL-соединение.

В следующем примере показано, как присвоить этому параметру значение Basic.

-AuthType Basic

Возможные значения параметра:

Negotiate

Basic

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию Microsoft.ActiveDirectory.Management.AuthType.Negotiate
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Credential <PSCredential>

Задает параметры учетной записи пользователя для выполнения задачи. Учетными данными по умолчанию являются учетные данные текущего пользователя, вошедшего в систему, если только командлет не выполняется с диска поставщика Active Directory PowerShell. Если командлет выполняется с такого диска поставщика, в качестве значения по умолчанию используется учетная запись, связанная с диском.

Чтобы задать этот параметр, можно ввести имя пользователя, например «User1» или «Domain01\User01», либо указать объект PSCredential. Если для этого параметра задать имя пользователя, командлет запросит пароль.

Кроме того, объект PSCredential можно создать с помощью скрипта или командлета Get-Credential. Затем параметру Credential можно присвоить значение объекта PSCredential. В следующем примере показано как создать учетные данные.
$AdminCredentials = Get-Credential «Domain01\User01»

Ниже показано, как присвоить параметру Credential эти учетные данные.

-Credential $AdminCredentials

Если для используемых учетных данных не установлены полномочия на уровне каталога для выполнения задачи, Active Directory PowerShell вернет прерывающую ошибку.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Identity <ADGroup>

Задает объект группы Active Directory путем указания одного из следующих значений. Идентификатор в скобках представляет собой отображаемое имя LDAP атрибута.

Различающееся имя
Пример: CN=saradavisreports,OU=europe,CN=users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Пример: 599c3d2e-f72d-4d20-8a88-030d99495f20
Идентификатор безопасности (objectSid)
Пример: S-1-5-21-3165297888-301567370-576410423-1103
Имя учетной записи SAM (sAMAccountName)
Пример: saradavisreports

Командлет ищет объект в пределах контекста или раздела именования по умолчанию. Если найдено несколько объектов, командлет вернет непрерывающую ошибку.

Этот параметр также может принимать данный объект по конвейеру, либо можно присваивать этому параметру экземпляр объекта.

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

-Identity "CN=innaozhoginareports,OU=europe,CN=users,DC=corp,DC=contoso,DC=com"

В данном примере показано, как присвоить этому параметру экземпляр объекта группы с именем «ADGroupInstance».

-Identity $ADGroupInstance

Необходимость параметров Не обязательный параметр
Позиция? 1
Значение по умолчанию
Принимать входные данные конвейера true (ByValue)
Принимать подстановочные знаки false

 

-Partition <string>

Задает различающееся имя раздела Active Directory. Различающееся имя должно являться одним из контекстов именования текущего сервера каталогов. Командлет ищет в этом разделе объект, заданный параметром Identity.
В следующих двух примерах показано, как задать значение этого параметра.

-Partition "CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"

-Partition "CN=Schema,CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"

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

В средах доменных служб Active Directory Значение по умолчанию, параметра Partition будет установлено в следующих случаях. — Если в качестве значения параметра Identity установлено различающееся имя, для формирования значения по умолчанию параметра Partition автоматически используется это различающееся имя.
— При запуске командлетов с диска поставщика Active Directory для формирования значения по умолчанию параметра Partition автоматически используется текущий путь на диске.
— Если ни один из представленных выше вариантов не применим, в качестве значения по умолчанию параметра Partition будет использоваться раздел по умолчанию или контекст именования целевого домена.

В средах AD LDS Значение по умолчанию, параметра Partition будет установлено в следующих случаях.
— Если в качестве значения параметра Identity установлено различающееся имя, для формирования значения по умолчанию параметра Partition автоматически используется это различающееся имя.
— При запуске командлетов с диска поставщика Active Directory для формирования значения по умолчанию параметра Partition автоматически используется текущий путь на диске.
— Если для целевого экземпляра AD LDS существует контекст именования по умолчанию, в качестве значения по умолчанию параметра Partition будет использоваться этот контекст именования. Чтобы задать контекст именования по умолчанию для среды AD LDS, задайте значение свойства msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.
— Если ни один из представленных выше вариантов не применим, для параметра Partition не будет использоваться Значение по умолчанию,.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Recursive <switch>

Задает, что командлет получает все элементы из иерархии группы, которые не содержат дочерних объектов. В следующем примере показана иерархия для группы InnaOzhoginaReports.
+InnaOzhoginaReports [group]
-SvetlanaOmelchenko [user]
-SergeyKlimovLaptop [computer]
+VadimKorepinReports [group]
-AlexeyOrekhov [user]
-AntonKirilov [user]
+VadimKorepinComputers [group]
-AlexeyComputer [computer]

Если задать группу InnaOzhoginaReports и указать параметр Recursive, возвращаются следующие элементы и подэлементы.
SvetlanaOmelchenko
SergeyKlimovLaptop
AlexeyOrekhov
AntonKirilov
AlexeyComputer

Если заданная группа не содержит элементов, ничего не возвращается.

В следующем примере показано, как задать этот параметр.

-Recursive

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Server <string>

Задает используемый для подключения экземпляр доменных служб Active Directory, указывая одно из следующих значений соответствующего доменного имени или сервера каталогов. Служба может относиться к следующим категориям: службы Active Directory облегченного доступа к каталогам, доменные службы Active Directory или снимки Active Directory.
Значения доменного имени:
Полное доменное имя
Примеры corp.contoso.com
NetBIOS-имя
Пример: CORP

Значения сервера каталогов:
Полное имя сервера каталогов
Пример: corp-DC12.corp.contoso.com
NetBIOS-имя
Пример: corp-DC12
Полное имя сервера каталогов и порт
Пример: corp-DC12.corp.contoso.com:3268

Значение параметра Server по умолчанию определяется одним из следующих методов в указанном ниже порядке.
— Используя значение Server из объектов, переданных по конвейеру.
— Используя информацию о сервере, связанную с диском поставщика Active Directory PowerShell, если запуск выполнен с этого диска.
— Используя домен компьютера, на котором выполняется Powershell.

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

-Server "corp.contoso.com"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

<CommonParameters>

Этот командлет поддерживает общие параметры: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable и OutVariable. Дополнительные сведения см. в статье about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

 

ВХОДНЫЕ ДАННЫЕ

Нет или Microsoft.ActiveDirectory.Management.ADGroup

Объект группы занесен в параметр Identity

ВЫХОДНЫЕ ДАННЫЕ

Microsoft.ActiveDirectory.Management.ADPrincipal

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

ПРИМЕЧАНИЯ

Этот командлет не работает со снимками Active Directory.

 

ПРИМЕР 1

get-adgroupmember
cmdlet Get-ADGroupMember at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
Identity: Administrators

distinguishedName : CN=Domain Admins,CN=Users,DC=Fabrikam,DC=com
name : Domain Admins
objectClass : group
objectGUID : 5ccc6037-c2c9-42be-8e92-c8f98afd0011
SamAccountName : Domain Admins
SID : S-1-5-21-41432690-3719764436-1984117282-512

distinguishedName : CN=Enterprise Admins,CN=Users,DC=Fabrikam,DC=com
name : Enterprise Admins
objectClass : group
objectGUID : 0215b0a5-aea1-40da-b598-720efe930ddf
SamAccountName : Enterprise Admins
SID : S-1-5-21-41432690-3719764436-1984117282-519

distinguishedName : CN=LabAdmin,CN=Users,DC=Fabrikam,DC=com
name : LabAdmin
objectClass : user
objectGUID : ab7c269d-aec5-4fcc-aebe-6cd1a2e6cd53
SamAccountName : LabAdmin
SID : S-1-5-21-41432690-3719764436-1984117282-1000

distinguishedName : CN=Administrator,CN=Users,DC=Fabrikam,DC=com
name : Administrator
objectClass : user
objectGUID : 994f46e6-c62c-483f-a6cf-124197b6a959
SamAccountName : Administrator
SID : S-1-5-21-41432690-3719764436-1984117282-500

Описание
————

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

 

ПРИМЕР 2

get-adgroup -server localhost:60000 -filter {GroupScope -eq "DomainLocal"} -SearchBase "DC=AppNC" | get-adgroupmember -partition "DC=AppNC"

distinguishedName : CN=SanjayPatel,OU=AccountDeptOU,DC=AppNC
name : SanjayPatel
objectClass : user
objectGUID : d671de28-6e40-42a7-b32c-63d336de296d
SamAccountName :
SID : S-1-510474493-936115905-2231798853-1260534229-4171027843-767619944

Описание
————

Получение членов групп всех локальных групп домена экземпляра AD LDS.

 

ПРИМЕР 3

get-adgroupmember -Identity administrators

distinguishedName : CN=Domain Admins,CN=Users,DC=Fabrikam,DC=com
name : Domain Admins
objectClass : group
objectGUID : 5ccc6037-c2c9-42be-8e92-c8f98afd0011
SamAccountName : Domain Admins
SID : S-1-5-21-41432690-3719764436-1984117282-512

distinguishedName : CN=Enterprise Admins,CN=Users,DC=Fabrikam,DC=com
name : Enterprise Admins
objectClass : group
objectGUID : 0215b0a5-aea1-40da-b598-720efe930ddf
SamAccountName : Enterprise Admins
SID : S-1-5-21-41432690-3719764436-1984117282-519

distinguishedName : CN=LabAdmin,CN=Users,DC=Fabrikam,DC=com
name : LabAdmin
objectClass : user
objectGUID : ab7c269d-aec5-4fcc-aebe-6cd1a2e6cd53
SamAccountName : LabAdmin
SID : S-1-5-21-41432690-3719764436-1984117282-1000

distinguishedName : CN=Administrator,CN=Users,DC=Fabrikam,DC=com
name : Administrator
objectClass : user
objectGUID : 994f46e6-c62c-483f-a6cf-124197b6a959
SamAccountName : Administrator
SID : S-1-5-21-41432690-3719764436-1984117282-500

Описание
————

Получение всех участников группы администраторов.

 

ПРИМЕР 4

get-adgroupmember "Enterprise Admins" -recursive

distinguishedName : CN=Administrator,CN=Users,DC=Fabrikam,DC=com
name : Administrator
objectClass : user
objectGUID : 994f46e6-c62c-483f-a6cf-124197b6a959
SamAccountName : Administrator
SID : S-1-5-21-41432690-3719764436-1984117282-500

distinguishedName : CN=Sagiv Hadaya,CN=Users,DC=Fabrikam,DC=com
name : Sagiv Hadaya
objectClass : user
objectGUID : 64706230-f179-4fe4-b8c9-f0d334e66ab1
SamAccountName : SHadaya
SID : S-1-5-21-41432690-3719764436-1984117282-1158

Описание
————

Получение всех участников группы «Enterprise Admins», включая членов всех дочерних групп.

 

ССЫЛКИ ПО ТЕМЕ

Online version: http://go.microsoft.com/fwlink/?LinkID=144954
Add-ADGroupMember
Remove-ADGroupMember
Add-ADPrincipalGroupMembership
Get-ADPrincipalGroupMembership
Remove-ADPrincipalGroupMembership
Get-ADGroup

]]>
https://coolcode.ru/powershell-get-adgroupmember/feed/ 0
PowerShell. Set-ADUser https://coolcode.ru/powershell-set-aduser/ https://coolcode.ru/powershell-set-aduser/#respond Tue, 11 Oct 2016 06:05:44 +0000 http://coolcode.ru/?p=10078

ОПИСАНИЕ

Изменяет пользователя Active Directory.

СИНТАКСИС

Set-ADUser [-Identity] <ADUser> [-AccountExpirationDate <System.Nullable[System.DateTime]>] [-AccountNotDelegated <System.Nullable[bool]>] [-Add <hashtable>] [-AllowReversiblePasswordEncryption <System.Nullable[bool]>] [-CannotChangePassword <System.Nullable[bool]>] [-Certificates <hashtable>] [-ChangePasswordAtLogon <System.Nullable[bool]>] [-City <string>][-Clear <string[]>] [-Company <string>] [-Country <string>] [-Department <string>] [-Description <string>] [-DisplayName <string>] [-Division <string>] [-EmailAddress <string>] [-EmployeeID <string>] [-EmployeeNumber <string>] [-Enabled <System.Nullable[bool]>] [-Fax <string>] [-GivenName <string>] [-HomeDirectory <string>] [-HomeDrive <string>] [-HomePage <string>] [-HomePhone <string>] [-Initials <string>] [-LogonWorkstations <string>] [-Manager <ADUser>] [-MobilePhone <st
ring>] [-Office <string>] [-OfficePhone <string>] [-Organization <string>] [-OtherName <string>] [-PasswordNeverExpires <System.Nullable[bool]>] [-PasswordNotRequired <System.Nullable[bool]>] [-POBox <string>] [-PostalCode <string>] [-ProfilePath <string>] [-Remove <hashtable>] [-Replace <hashtable>] [-SamAccountName <string>] [-ScriptPath <string>] [-ServicePrincipalNames <hashtable>] [-SmartcardLogonRequired <System.Nullable[bool]>] [-State <string>] [-StreetAddress <string>] [-Surname <string>] [-Title <string>] [-TrustedForDelegation <System.Nullable[bool]>] [-UserPrincipalName <string>] [-AuthType {Negotiate | Basic}] [-Credential <PSCredential>] [-Partition <string>] [-PassThru <switch>] [-Server <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-ADUser -Instance <ADUser> [-SamAccountName <string>] [-AuthType {Negotiate | Basic}] [-Credential <PSCredential>] [-Partition <string>] [-PassThru <switch>] [-Server <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

 

ОПИСАНИЕ

Командлет Set-ADUser изменяет свойства пользователя Active Directory. Значения часто используемых свойств можно изменятьс помощью параметров командлета. Значения свойств, не связанные с параметрами командлета, можно изменять с помощью параметров Add, Replace, Clear и Remove.

Параметр Identity определяет, какого пользователя Active Directory коснутся изменения. Пользователя можно идентифицировать по его различающемуся имени (DN), значению GUID, идентификатору безопасности (SID) или имени учетной записи SAM. Можно также присвоить параметру Identity переменную объекта, например $, или передать в параметр Identity объект по конвейеру. Например, можно использовать командлет Get-ADUser, чтобы получить объект пользователя, и затем передать этот объект по конвейеру командлету Set-ADUser.

С помощью параметра Instance можно обновить объект пользователя, применив изменения, внесенные в копию объекта. Если указать в параметре Instance копию объекта пользователя Active Directory, который был изменен, командлет Set-ADUser внесет такие же изменения в исходный объект пользователя. Чтобы получить копию объекта, который требуется изменить, воспользуйтесь объектом Get-ADUser. При использовании параметра Instance параметр Identity запрещен. Дополнительные сведения о параметре Instance см. в описании параметра Instance. Дополнительные сведения об использовании понятия Instance в командлетах Active Directory см. в разделе about_ActiveDirectory_Instance.

Следующие примеры показывают, как вносить изменения в свойство Manager объекта пользователя, используя следующие три метода.
— Задание параметров Identity и Manager.
— Передача объекта пользователя по конвейеру и задание параметра Manager.
— Задание параметра Instance.

Метод 1. Изменение свойства Manager для пользователя «saraDavis» с помощью параметров Identity и Manager.

Set-ADUser -Identity "InnaOzhogina" -Manager "VadimKorepin"

Метод 2. Изменение свойства Manager для пользователя «saraDavis» путем передачи пользователя «saraDavis» по конвейеру изадания параметра Manager.

Get-ADUser -Identity "InnaOzhogina" | Set-ADUser -Manager "VadimKorepin"

Метод 3. Изменение свойства Manager пользователя «saraDavis» с использованием командной строки Windows PowerShell для изменения локального экземпляра пользователя «saraDavis». После этого необходимо присвоить параметру Instance локальный экземпляр.

$user = Get-ADUser -Identity "InnaOzhogina"
$user.Manager = "VadimKorepin"
Set-ADUser -Instance $user.

Для сред AD LDS необходимо задать параметр Partition за исключением двух следующих случаев.
— Командлет запускается с диска поставщика Active Directory.
— Для среды AD LDS определен контекст или раздел именования по умолчанию. Чтобы задать контекст именования по умолчанию для среды AD LDS, задайте значение свойства msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.

 

ПАРАМЕТРЫ

-AccountExpirationDate <System.Nullable[System.DateTime]>

Задает дату окончания срока действия учетной записи. Если задать для этого параметра значение 0, срок действия учетной записи никогда не истечет. Этот параметр задает свойство AccountExpirationDate объекта учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «accountExpires».

При задании этого параметра используйте синтаксис DateTime. Предполагается местное время, если не указано иное. Если значение времени не задано, предполагается 00:00:00 по местному времени. Если дата не указана, предполагается текущая дата. В следующем примере показан стандартный синтаксис определения объекта DateTime.
«4/17/2006»
«17.04.06»
«14:22:45»
«17.04.06 14:22:45»

В этих примерах задается одно и то же значение времени и даты без секунд.
«17.04.2006 14:22»
«17.04.06 14:22»
«14:22»

В следующем примере показано, как задать дату и время по стандарту RFC1123. В данном примере время определено по Гринвичу (GMT).
«Пн, 17 апр 2006 г., 21:22:48 GMT»

В следующем примере показано, как задать значение времени приема-передачи в формате UTC. В данном примере задано значение «Понедельник, 17 апреля 2006 г., 14:22:48 по времени UTC».
«2006-04-17T14:22:48.0000000»

В следующем примере показано, как присвоить этому параметру значение «1 мая 2012 г., 17:00».

-AccountExpirationDate "01.05.2012 17:00:00"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-AccountNotDelegated <System.Nullable[bool]>

Определяет, делегируется ли контекст безопасности пользователя службе. Если этот параметр имеет значение «true», контекст безопасности учетной записи не делегируется службе, даже если учетная запись службы является доверенной для делегирования Kerberos. Этот параметр задает свойство AccountNotDelegated для учетной записи Active Directory. Этот параметр также устанавливает флаг ADS_UF_NOT_DELEGATED атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

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

-AccountNotDelegated $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Add <hashtable>

Задает значения для добавления в свойство объекта. Этот параметр служит для добавления одного или нескольких значений в свойство, которое нельзя изменить с помощью параметра командлета. Для изменения свойства объекта требуется отображаемое имя LDAP. Можно задать несколько значений, указав их через запятую, а также несколько свойств, разделив их точками с запятой. Параметр имеет следующий формат:
-Add @{Attribute1LDAPDisplayName=значение1, значение2, …; Attribute2LDAPDisplayName=значение1, значение2, …; AttributeNLDAPDisplayName= значение1, значение2, …}

Например, чтобы удалить значение «555-222-2222» и добавить значения «555-222-1111» и «555-222-3333» в атрибут Phone-Office-Other (отображаемое имя LDAP «otherTelephone»), а также добавить значение «555-222-9999» в атрибут Phone-Mobile-Other (отображаемое имя LDAP «otherMobile»), установите для параметров Add и Remove следующие значения.

-Add @{otherTelephone='555-222-1111', '555-222-3333'; otherMobile='555-222-9999' } -Remove @{otherTelephone='555-222-2222'}

При одновременном использовании параметров Add, Remove, Replace и Clear операции выполняются в следующем порядке:
..Remove
..Add
..Replace

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-AllowReversiblePasswordEncryption <System.Nullable[bool]>

Определяет, разрешено ли для данной учетной записи обратимое шифрование пароля. Этот параметр задает свойство AllowReversiblePasswordEncryption учетной записи. Этот параметр также устанавливает флаг ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как присвоить этому параметру значение «true».

-AllowReversiblePasswordEncryption $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-AuthType <ADAuthType>

Задает используемый метод проверки подлинности. Возможные значения параметра:
Negotiate или 0
Basic или 1

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

Для метода проверки подлинности Basic требуется SSL-соединение.

В следующем примере показано, как присвоить этому параметру значение Basic.

-AuthType Basic

Возможные значения параметра:

Negotiate

Basic

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию Microsoft.ActiveDirectory.Management.AuthType.Negotiate
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-CannotChangePassword <System.Nullable[bool]>

Определяет, можно ли изменять пароль данной учетной записи. Этот параметр задает свойство CannotChangePassword учетной записи. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как задать этот параметр так, чтобы можно было изменить пароль учетной записи.

-CannotChangePassword $false

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

 -Certificates <hashtable>

Изменяет сертификаты X.509v3 учетной записи в DER-кодировке. Эти сертификаты включают сертификаты открытых ключей, выданные этой учетной записи службой сертификации (Microsoft). Этот параметр задает свойство Certificates объекта учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «userCertificate».

Синтаксис:
Чтобы добавить значения, введите строку:
-Certificates @{Add=значение1,значение2,…}
Чтобы удалить значения, введите строку:
-Certificates @{Remove=значение3,значение4,…}
Чтобы заменить значения, введите строку:
-Certificates @{Replace=значение1,значение2,…}
Чтобы очистить все значения, введите строку:
-Certificates $null

С помощью списка значений, разделенных точкой с запятой, можно задать несколько операций одновременно. Например, длядобавления и удаления значений параметра Certificate используйте следующий синтаксис:
-Certificates @{Add=значение1,значение2,…};@{Remove=значение3,значение4,…}

Операторы будут применены в следующей последовательности:
..Remove
..Add
..Replace

В следующем примере показано, как создать сертификат с помощью командлета New-Object, а затем добавить этот сертификат к учетной записи пользователя. При выполнении этого командлета вместо строки <пароль сертификата> подставляется пароль, используемый для добавления сертификата.

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate certificate1.cer <пароль сертифика та>
Set-ADUser innaozhogina -Certificates @{Add=$cert}

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

Set-ADUser innaozhogina -Certificates @{Add= [Byte[]](0xC5,0xEE,0x53,...)}

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ChangePasswordAtLogon <System.Nullable[bool]>

Определяет, нужно ли изменить пароль при очередной попытке входа в систему. Возможные значения параметра:
$false или 0
$true или 1

Этому параметру нельзя присвоить значение $true или 1 для учетной записи, свойство PasswordNeverExpires которой также имеет значение true.

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

-ChangePasswordAtLogon $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-City <string>

Задает город пользователя. Этот параметр задает свойство City пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «l».

В следующем примере показано, как задать этот параметр.

-City "Москва"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Clear <string[]>

Задает массив свойств объекта, которые будут очищены в каталоге. Этот параметр служит для очистки одного или нескольких значений свойства, которое нельзя изменить с помощью параметра командлета. Для изменения свойства объекта требуется отображаемое имя LDAP. С помощью списка разделенных запятыми значений можно изменить несколько свойств одновременно. Параметр имеет следующий формат:
-Clear Attribute1LDAPDisplayName, Attribute2LDAPDisplayName

Например, чтобы очистить значение атрибута Phone-Office-Other (отображаемое имя LDAP ‘otherTelephone’), задайте параметр Clear следующим образом.

-Clear otherTelephone

При одновременном использовании параметров Add, Remove, Replace и Clear операции выполняются в следующем порядке:
..Remove
..Add
..Replace
..Clear

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Company <string>

Задает компанию пользователя. Этот параметр задает свойство Company объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «company».

В следующем примере показано, как задать этот параметр.

-Company "Contoso"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Country <string>

Задает код страны или региона для выбранного пользователем языка. Этот параметр задает свойство Country объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «c». Это значение не используется в Windows 2000.

В следующем примере показано, как задать этот параметр.

-Country "IN"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Credential <PSCredential>

Задает параметры учетной записи пользователя для выполнения задачи. Учетными данными по умолчанию являются учетные данные текущего пользователя, вошедшего в систему, если только командлет не выполняется с диска поставщика Active Directory PowerShell. Если командлет выполняется с такого диска поставщика, в качестве значения по умолчанию используется учетная запись, связанная с диском.

Чтобы задать этот параметр, можно ввести имя пользователя, например «User1» или «Domain01\User01», либо указать объект PSCredential. Если для этого параметра задать имя пользователя, командлет запросит пароль.

Кроме того, объект PSCredential можно создать с помощью скрипта или командлета Get-Credential. Затем параметру Credential можно присвоить значение объекта PSCredential. В следующем примере показано как создать учетные данные.

$AdminCredentials = Get-Credential "Domain01\User01"

Ниже показано, как присвоить параметру Credential эти учетные данные.

-Credential $AdminCredentials

Если для используемых учетных данных не установлены полномочия на уровне каталога для выполнения задачи, Active Directory PowerShell вернет прерывающую ошибку.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Department <string>

Задает отдел пользователя. Этот параметр задает свойство Department для пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «department».

В следующем примере показано, как задать этот параметр.

-Department "Development"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Description <string>

Задает описание объекта. Этот параметр задает значение свойства Description объекта. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «description».

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

-Description "Описание объекта"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-DisplayName <string>

Задает отображаемое имя объекта. Этот параметр задает свойство DisplayName объекта. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «displayName».

В следующем примере показано, как задать этот параметр.

-DisplayName "Ноутбук Инны Ожогиной"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Division <string>

Задает отделение пользователя. Этот параметр задает свойство Division объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «division».

В следующем примере показано, как задать этот параметр.

-Division "Software"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-EmailAddress <string>

Задает адрес электронной почты пользователя. Этот параметр задает свойство EmailAddress объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «mail».

В следующем примере показано, как задать этот параметр.

-EmailAddress "innaozhogina@contoso.com"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-EmployeeID <string>

Задает ИД сотрудника этого пользователя. Этот параметр задает свойство EmployeeID объекта пользователя. Отображаемоеимя LDAP (ldapDisplayName) для этого свойства: «employeeID».

В следующем примере показано, как задать этот параметр.

-EmployeeID "A123456"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-EmployeeNumber <string>

Задает номер сотрудника, присвоенный пользователю. Этот параметр задает свойство EmployeeNumber объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «employeeNumber».

В следующем примере показано, как задать этот параметр.

-EmployeeNumber "12345678"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Enabled <System.Nullable[bool]>

Указывает, активна ли учетная запись. Для активной учетной записи необходимо указать пароль. Этот параметр задает свойство Enabled объекта учетной записи. Этот параметр также устанавливает флаг ADS_UF_ACCOUNTDISABLE атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как настроить этот параметр для включения учетной записи.

-Enabled $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

-Fax <string>
Задает номер факса пользователя. Этот параметр задает свойство Fax объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «facsimileTelephoneNumber».

В следующем примере показано, как задать этот параметр.

-Fax "+1 (999) 555 1212"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-GivenName <string>

Задает имя пользователя (без фамилии). Этот параметр задает свойство GivenName объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «givenName».

В следующем примере показано, как задать этот параметр.

-givenName "Ivan"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-HomeDirectory <string>

Указывает домашний каталог пользователя. Этот параметр задает свойство HomeDirectory объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «homeDirectory».

В следующем примере показано, как задать этот параметр.

-HomeDirectory "\\users\InnaOzhoginaHomeDir"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-HomeDrive <string>

Задает диск, связанный с UNC-путем, определенным свойством HomeDirectory. Буква диска указывается как «<буква_диска:», где <буква_диска> задает букву сопоставляемого диска. <буква_диска> — одна заглавная буква, двоеточие после нее обязательно. Этот параметр задает свойство HomeDrive объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «homeDrive».

В следующем примере показано, как задать этот параметр.

-HomeDrive "D:"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-HomePage <string>

Задает URL-адрес домашней страницы объекта. Этот параметр задает свойство homePage объекта Active Directory. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «wWWHomePage».

В следующем примере показано, как присвоить этому параметру URL-адрес.

-HomePage "http://employees.contoso.com/ozhogina"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-HomePhone <string>

Задает номер домашнего телефона пользователя. Этот параметр задает свойство пользователя HomePhone. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «homePhone».

В следующем примере показано, как задать этот параметр.

-HomePhone "+1 (999) 555 1212"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Identity <ADUser>

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

Различающееся имя
Пример: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Пример: 599c3d2e-f72d-4d20-8a88-030d99495f20
Идентификатор безопасности (objectSid)
Пример: S-1-5-21-3165297888-301567370-576410423-1103
Имя учетной записи SAM (sAMAccountName)
Пример: saradavis

Командлет ищет объект в пределах контекста или раздела именования по умолчанию. Если найдено несколько объектов, командлет вернет непрерывающую ошибку.

Этот параметр также может принимать данный объект по конвейеру, либо можно присваивать этому параметру экземпляр объекта.

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

-Identity "CN=InnaOzhogina,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com"

В данном примере показано, как присвоить этому параметру экземпляр объекта пользователя с именем «userInstance».
-Identity $userInstance

Необходимость параметров Обязательный параметр
Позиция? 1
Значение по умолчанию
Принимать входные данные конвейера?true (ByValue)
Принимать подстановочные знаки false

 

-Initials <string>

Задает инициалы пользователя. Можно использовать это значение для задания инициала дополнительного имени или отчества пользователя. Этот параметр задает свойство пользователя Initials. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «initials».

В следующем примере показано, как задать этот параметр.

-Initials "L"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Instance <ADUser>

Задает объект ADUser, идентифицирующий объект пользователя Active Directory, который требуется изменить, и набор изменений, которые требуется внести в этот объект. При указании этого параметра все изменения, внесенные в объект ADUser, также применяются к соответствующему объекту Active Directory. Командлет обновляет только изменившиеся свойства о бъекта.
Необходимо, чтобы объект ADUser, указанный в качестве значения параметра -Instance, был получен с помощью командлета Get-ADUser. При задании параметра Instance нельзя устанавливать другие параметры, определяющие отдельные свойства о бъекта.

В следующем примере показано, как использовать командлет Get-ADUser для получения экземпляра объекта ADUser. Объект изменяется с помощью командной строки Windows PowerShell. Затем командлет Set-ADUser сохраняет изменения для объекта Active Directory.

Шаг 1. Получение локального экземпляра объекта.

$userInstance = Get-ADUser -Identity innaOzhogina

Шаг 2. Изменение одного или нескольких свойств экземпляра объекта.

$userInstance.EmailAddress = "innaozhogina@contoso.com"

Шаг 3. Сохранение изменений для объекта.

Set-ADUser -Instance $userInstance

Необходимость параметров Обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-LogonWorkstations <string>

Задает компьютеры, к которым пользователь может получить доступ. Чтобы задать несколько компьютеров, используйте список значений, разделенных запятыми. Можно идентифицировать компьютер с помощью учетной записи SAM (sAMAccountName) или DNS-имени компьютера. Имя учетной записи SAM совпадает с NetBIOS-именем компьютера.

Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «userWorkStations».

В следующем примере показано, как задать этот параметр, используя значения SAMAccountName (NetBIOS-имя) и DNSHostName.

-LogonWorkstations "innaOzhoginaDesktop,innaOzhoginaLapTop,projectA.corp.contoso.com"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Manager <ADUser>

Задает руководителя пользователя. Этот параметр задает свойство пользователя Manager. Этот параметр задается путем у казания одного из следующих значений свойства. Примечание. Идентификатор в скобках представляет собой отображаемое имя LDAP свойства.

Различающееся имя
Пример: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Пример: 599c3d2e-f72d-4d20-8a88-030d99495f20
Идентификатор безопасности (objectSid)
Пример: S-1-5-21-3165297888-301567370-576410423-1103
Имя учетной записи SAM (sAMAccountName)
Пример: saradavis

Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «manager».

В следующем примере показано, как задать этот параметр.

-Manager innaozhogina

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-MobilePhone <string>

Задает номер мобильного телефона пользователя. Этот параметр задает свойство MobilePhone объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «mobile».

В следующем примере показано, как задать этот параметр.

-MobilePhone "+1 (999 ) 555 1212"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Office <string>

Задает офис пользователя. Этот параметр задает свойство Office объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «office».

В следующем примере показано, как задать этот параметр.

-Office "D1042"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-OfficePhone <string>

Задает номер рабочего телефона пользователя. Этот параметр задает свойство OfficePhone объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «telephoneNumber».

В следующем примере показано, как задать этот параметр.

-OfficePhone "+1 (999) 555 1212"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Organization <string>

Задает организацию пользователя. Этот параметр задает свойство Organization объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «o».

В следующем примере показано, как задать этот параметр.

-Organization "Accounting"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-OtherName <string>

Задает дополнительное имя пользователя, например отчество. Этот параметр задает свойство OtherName объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «middleName».

В следующем примере показано, как задать этот параметр.

-OtherName "Ivanovich"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Partition <string>

Задает различающееся имя раздела Active Directory. Различающееся имя должно являться одним из контекстов именования текущего сервера каталогов. Командлет ищет в этом разделе объект, заданный параметром Identity. В следующих двух примерах показано, как задать значение этого параметра.

-Partition "CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"

-Partition "CN=Schema,CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"

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

В средах доменных служб Active Directory Значение по умолчанию, параметра Partition будет установлено в следующих случаях. — Если в качестве значения параметра Identity установлено различающееся имя, для формирования значения по умолчанию параметра Partition автоматически используется это различающееся имя.
— При запуске командлетов с диска поставщика Active Directory для формирования значения по умолчанию параметра Partition автоматически используется текущий путь на диске.
— Если ни один из представленных выше вариантов не применим, в качестве значения по умолчанию параметра Partition будет использоваться раздел по умолчанию или контекст именования целевого домена.

В средах AD LDS Значение по умолчанию, параметра Partition будет установлено в следующих случаях.
— Если в качестве значения параметра Identity установлено различающееся имя, для формирования значения по умолчанию параметра Partition автоматически используется это различающееся имя.
— При запуске командлетов с диска поставщика Active Directory для формирования значения по умолчанию параметра Partition автоматически используется текущий путь на диске.
— Если для целевого экземпляра AD LDS существует контекст именования по умолчанию, в качестве значения по умолчанию параметра Partition будет использоваться этот контекст именования. Чтобы задать контекст именования по умолчаниюдля среды AD LDS, задайте значение свойства msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.
— Если ни один из представленных выше вариантов не применим, для параметра Partition не будет использоваться Значение по умолчанию,.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-PassThru <switch>
Возвращает новый или измененный объект. По умолчанию (если не указан параметр -PassThru) этот командлет не формирует никаких выходных данных.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-PasswordNeverExpires <System.Nullable[bool]>

Определяет, может ли истечь срок действия пароля учетной записи. Этот параметр задает свойство PasswordNeverExpires объекта учетной записи. Этот параметр также устанавливает флаг ADS_UF_DONT_EXPIRE_PASSWD атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

Примечание. Этому параметру нельзя присвоить значение $true или 1 для учетной записи, свойство ChangePasswordAtLogon которой также имеет значение true.

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

-PasswordNeverExpires $false

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-PasswordNotRequired <System.Nullable[bool]>

Определяет, требуется ли пароль для данной учетной записи. Этот параметр задает свойство PasswordNotRequired учетной записи, например учетной записи пользователя или компьютера. Этот параметр также устанавливает флаг ADS_UF_PASSWD_NOTREQD атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

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

-PasswordNotRequired $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-POBox <string>

Задает номер абонементного почтового ящика пользователя. Этот параметр задает свойство POBox объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «postOfficeBox».

В следующем примере показано, как задать этот параметр.

-POBox "25662"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-PostalCode <string>

Задает почтовый индекс пользователя. Этот параметр задает свойство PostalCode пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «postalCode».

В следующем примере показано, как задать этот параметр.

-PostalCode "28712"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ProfilePath <string>

Задает путь к профилю пользователя. Это значение может представлять собой локальный абсолютный путь или UNC-путь. Этот параметр задает свойство ProfilePath объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «profilePath».

В следующих примерах показано, как присвоить этому параметру локальный путь или UNC-путь. -ProfilePath «E:\users\
profiles\innaOzhogina»

-ProfilePath "\\users\profiles\innaOzhogina"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Remove <hashtable>

Указывает, что командлет удаляет значения свойства объекта. Этот параметр служит для удаления одного или нескольких значений свойства, которое нельзя изменить с помощью параметра командлета. Для удаления свойства объекта требуется отображаемое имя LDAP. С помощью списка разделенных точками с запятой значений можно удалить несколько свойств одновременно. Параметр имеет следующий формат:
-Remove @{Attribute1LDAPDisplayName=value[]; Attribute2LDAPDisplayName=value[]}

Например, чтобы добавить значения «blue» и «green» и удалить значение «pink» из свойства с отображаемым именем LDAP
FavColors, установите значения параметров Add и Remove следующим образом.

-Add @{FavColors=Blue,Green} -Remove {FavColors=Pink}

При одновременном использовании параметров Add, Remove, Replace и Clear эти параметры применяются в следующей послед
овательности:
..Remove
..Add
..Replace
..Clear

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

 

-Replace <hashtable>

Задает значения свойства объекта, которые заменят текущие значения. Этот параметр служит для замены одного или нескольких значений свойства, которое нельзя изменить с помощью параметра командлета. Для изменения свойства объекта требуется отображаемое имя LDAP. С помощью списка разделенных запятыми значений можно изменить несколько свойств одновременно. Параметр имеет следующий формат:
-Replace @{Attribute1LDAPDisplayName=value[], Attribute2LDAPDisplayName=value[]}

Например, чтобы заменить в атрибуте Phone-Office-Other (отображаемое имя LDAP «otherTelephone») значения «555-222-2222» значениями «555-222-1111», установите для параметра Replace следующее значение.

-Replace @{otherTelephone='555-222-2222', '555-222-1111'}

При одновременном использовании параметров Add, Remove, Replace и Clear операции выполняются в следующем порядке:
..Remove
..Add
..Replace
..Clear

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-SamAccountName <string>

Задает имя учетной записи SAM пользователя, группы, компьютера или службы. Максимальная длина описания — 256 знаков. Для совместимости с более старыми операционными системами создайте имя учетной записи SAM длиной не более 20 знаков. Этот параметр задает свойство SAMAccountName объекта учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «sAMAccountName».

В следующем примере показано, как задать этот параметр.

-SAMAccountName "innaozhogina"

Примечание. Если указанное строковое значение не заканчивается символом «$», система добавляет этот символ при необходимости.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ScriptPath <string>

Задает путь к скрипту входа пользователя. Это значение может представлять собой локальный абсолютный путь или UNC-путь. Этот параметр задает свойство ScriptPath пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «scriptPath».

В следующем примере показано, как задать этот параметр.

-ScriptPath "\\logonScripts\innaozhoginaLogin"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Server <string>

Задает используемый для подключения экземпляр доменных служб Active Directory, указывая одно из следующих значений соответствующего доменного имени или сервера каталогов. Служба может относиться к следующим категориям: службы Active Directory облегченного доступа к каталогам, доменные службы Active Directory или снимки Active Directory.
Значения доменного имени:
Полное доменное имя
Примеры corp.contoso.com
NetBIOS-имя
Пример: CORP

Значения сервера каталогов:
Полное имя сервера каталогов
Пример: corp-DC12.corp.contoso.com
NetBIOS-имя
Пример: corp-DC12
Полное имя сервера каталогов и порт
Пример: corp-DC12.corp.contoso.com:3268

Значение параметра Server по умолчанию определяется одним из следующих методов в указанном ниже порядке.
— Используя значение Server из объектов, переданных по конвейеру.
— Используя информацию о сервере, связанную с диском поставщика Active Directory PowerShell, если запуск выполнен с этого диска.
— Используя домен компьютера, на котором выполняется Powershell.

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

-Server "corp.contoso.com"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ServicePrincipalNames <hashtable>

Задает имена участников-служб для учетной записи. Этот параметр задает свойство ServicePrincipalNames учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «servicePrincipalName». Для добавления, замены или очистки значений имен служб-участников этот параметр использует следующий синтаксис. Синтаксис:
Чтобы добавить значения, введите строку:
-ServicePrincipalNames @{Add=значение1,значение2,…}
Чтобы удалить значения, введите строку:
-ServicePrincipalNames @{Remove=значение3,значение4,…}
Чтобы заменить значения, введите строку:
-ServicePrincipalNames @{Replace=значение1,значение2,…}
Чтобы очистить все значения, введите строку:
-ServicePrincipalNames $null

С помощью списка значений, разделенных точкой с запятой, можно задать несколько изменений одновременно. Например, для добавления и удаления имен участников-служб используйте следующий синтаксис:
@{Add=значение1,значение2,…};@{Remove=значение3,значение4,…}

Операторы будут применены в следующей последовательности:
..Remove
..Add
..Replace

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

-ServicePrincipalNames-@{Add="SQLservice\accounting.corp.contoso.com:1456"};{Remove="SQLservice\finance.corp.contoso.com:1456"}

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-SmartcardLogonRequired <System.Nullable[bool]>

Задает, требуется ли смарт-карта для входа в систему. Этот параметр задает свойство SmartCardLoginRequired для пользователя. Этот параметр также устанавливает флаг ADS_UF_SMARTCARD_REQUIRED атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

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

-SmartCardLogonRequired $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-State <string>

Задает область или край для пользователя или организационного подразделения. Этот параметр задает свойство State объекта пользователя или подразделения. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «st».

В следующем примере показано, как задать этот параметр.

-State "Московская область"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-StreetAddress <string>

Задает почтовый адрес пользователя. Этот параметр задает свойство StreetAddress объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «streetAddress».

В следующем примере показано, как задать этот параметр.

-StreetAddress "ул. Ленина 45-10"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Surname <string>

Задает фамилию пользователя. Этот параметр задает свойство Surname объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «sn».

В следующем примере показано, как задать этот параметр.

-Surname "Komashinsky"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Title <string>

Задает должность пользователя. Этот параметр задает свойство Title объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «title».

В следующем примере показано, как задать этот параметр.

-Title "Manager"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-TrustedForDelegation <System.Nullable[bool]>

Определяет, является ли учетная запись доверенной для делегирования Kerberos. Служба, которая выполняется от имени учетной записи, доверенной для делегирования Kerberos, может заменить клиент, запрашивающий службу. Этот параметр задает свойство TrustedForDelegation объекта учетной записи. Это значение также устанавливает флаг ADS_UF_TRUSTED_FOR_DELEGATION атрибута контроля учетных записей пользователей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как указать, что учетная запись является доверенной для делегирования Kerberos.

-TrustedForDelegation $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-UserPrincipalName <string>

Для каждой учетной записи пользователя существует имя участника-пользователя (UPN) в формате <имя_пользователя>@. UPN представляет собой назначенное администратором удобное для пользователя и легко запоминаемое имя, длина которого меньше различающегося имени LDAP, используемого системой. Имя участника-пользователя не зависит от различающегося имени объекта, поэтому объект пользователя можно переместить или переименовать без изменения имени пользователя для входа в систему. При входе в систему с использованием имени участника-пользователя теперь не требуется выбирать домен из списка в диалоговом окне входа в систему.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Confirm [<SwitchParameter>]

Запрашивает подтверждение перед выполнением команды.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-WhatIf [<SwitchParameter>]

Описывает, что произойдет при выполнении команды, без ее фактического выполнения.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

Этот командлет поддерживает общие параметры: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable и OutVariable. Дополнительные сведения см. в статьеabout_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

 

ВХОДНЫЕ ДАННЫЕ

Нет или Microsoft.ActiveDirectory.Management.ADUser

Объект пользователя занесен в параметр Identity.

Объект пользователя, который был получен с помощью командлета Get-ADUser, а затем изменен, заносится в параметр Instance.

 

ВЫХОДНЫЕ ДАННЫЕ

Нет или Microsoft.ActiveDirectory.Management.ADUser

Возвращает измененный объект пользователя, если задан параметр PassThru. По умолчанию этот командлет не формирует никаких выходных данных.

 

ПРИМЕЧАНИЯ

Этот командлет не работает со снимками Active Directory.
Этот командлет не работает с контроллером домена, доступным только для чтения.

 

ПРИМЕР 1

Set-ADUser AntonioAl -HomePage 'http://fabrikam.com/employees/AntonioAl' -LogonWorkstations 'AntonioAl-DSKTOP,AntonioAl-LPTOP'

Задает пользователю с именем учетной записи SAM «AntonioAL» свойство «homepage» со значением «http://fabrikam.com/employees/AntonioAl» и свойство «LogonWorkstations» со значением «AntonioAl-DSKTOP,AntonioAl-LPTOP».

 

ПРИМЕР 2

Get-ADUser -Filter 'Name -like "*"' -SearchBase 'OU=HumanResources,OU=UserAccounts,DC=FABRIKAM,DC=COM' -Properties DisplayName | % {Set-ADUser $_ -DisplayName ($_.Surname + ' ' + $_.GivenName)}

Получает всех пользователей в каталоге, находящихся в подразделении «OU=HumanResources,OU=UserAccounts,DC=FABRIKAM,DC=COM». Задает объектам этих пользователей свойство DisplayName со значением, получаемым путем объединения свойств Surnameи GivenName.

 

ПРИМЕР 3

Set-ADUser GlenJohn -Replace @{title="director";mail="glenjohn@fabrikam.com"}

Задает пользователю с именем учетной записи SAM «GlenJohn» свойство «title» со значением «director» и свойство «mail» созначением «glenjohn@fabrikam.com».

 

ПРИМЕР 4

Set-ADUser GlenJohn -Remove @{otherMailbox="glen.john"} -Add @{url="fabrikam.com"} -Replace @{title="manager"} -Clear description

Изменяет объект с именем учетной записи SAM «GlenJohn», удаляя строку «glen.john» из свойства «otherMailbox», добавляя строку «fabrikam.com» в свойство «url», заменяя значение свойства «title» на «manager» и очищая свойство «description».

 

ПРИМЕР 5

$user = Get-ADUser GlenJohn -Properties mail,department
$user.mail = "glen@fabrikam.com"
$user.department = "Accounting"
Set-ADUser -instance $user

Задает свойства «mail» и «department» объекту пользователя с именем учетной записи SAM «GlenJohn», используя параметр «instance».

 

ПРИМЕР 6

# create a byte array for the M-F 8:00 am to 5 pm logon hours
$hours = New-Object byte[] 21
$hours[5] = 255; $hours[8] = 255; $hours[11] = 255; $hours[14] = 255; $hours[17] = 255;
$hours[6] = 1; $hours[9] = 1; $hours[12] = 1; $hours[15] = 1; $hours[18] = 1;

# create a hashtable to update the logon hours and a description
$replaceHashTable = New-Object HashTable
$replaceHashTable.Add("logonHours", $hours)
$replaceHashTable.Add("description", "Sarah Davis can only logon from Monday through Friday from 8:00 AM to 5:00 PM")

# set the value of the logonHours and description attributes
Set-ADUser "SarahDavis" -Replace $replaceHashTable

Задает время входа пользователей в систему с понедельника по пятницу с 8:00 до 17:00 и добавляет описание. Обновляет атрибут «logonHours» указанным массивом байтов, а атрибут «description» — указанной строкой.

 

ССЫЛКИ ПО ТЕМЕ

Online version: http://go.microsoft.com/fwlink/?LinkID=144991
Get-ADUser
New-ADUser
Remove-ADUser

]]>
https://coolcode.ru/powershell-set-aduser/feed/ 0
PowerShell. Get-ADUser https://coolcode.ru/powershell-get-aduser/ https://coolcode.ru/powershell-get-aduser/#respond Sat, 08 Oct 2016 10:12:48 +0000 http://coolcode.ru/?p=10059

ОПИСАНИЕ

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

 

СИНТАКСИС

Get-ADUser -Filter <string> [-ResultPageSize <int>] [-ResultSetSize <System.Nullable[System.Int32]>] [-SearchBase <string>] [-SearchScope {Base | OneLevel | Subtree}] [-SearchScope {Base | OneLevel | Subtree}] [-AuthType {Negotiate | Basic}] [-Credential <PSCredential>] [-Partition <string>] [-Properties <string[]>] [-Server <string>] [<CommonParameters>]

Get-ADUser [-Identity] <ADUser> [-AuthType {Negotiate | Basic}] [-Credential <PSCredential>] [-Partition <string>] [-Properties <string[]>] [-Server <string>] [<CommonParameters>]

Get-ADUser -LDAPFilter <string> [-ResultPageSize <int>] [-ResultSetSize <System.Nullable[System.Int32]>] [-SearchBase <string>] [-SearchScope {Base | OneLevel | Subtree}] [-AuthType {Negotiate | Basic}] [-Credential <PSCredential>] [-Partition <string>] [-Properties <string[]>] [-Server <string>] [<CommonParameters>]

 

ОПИСАНИЕ

Командлет Get-ADUser получает объект пользователя или выполняет поиск для получения нескольких объектов пользователей.

Параметр Identity определяет получаемого пользователя Active Directory. Пользователя можно идентифицировать по различающемуся имени (DN), значению GUID, идентификатору безопасности (SID), имени учетной записи SAM или по имени. Можно также присвоить этому параметру переменную объекта пользователя, например $<localUserObject>, или передать в параметр Identity объект пользователя по конвейеру.

Для поиска и получения нескольких пользователей используйте параметр Filter или LDAPFilter. В параметре Filter для написания строк запросов к Active Directory используется язык выражений PowerShell. Синтаксис языка выражений PowerShell поддерживает широкие возможности преобразования типов для значений, принимаемых параметром Filter. Дополнительные сведения о синтаксисе параметра Filter см. в разделе about_ActiveDirectory_Filter. Если существуют строки запроса LDAP, можно использовать параметр LDAPFilter.

Этот командлет получает набор свойств объекта пользователя, заданный по умолчанию. Чтобы получить дополнительные свойства, используйте параметр Properties. Дополнительные сведения об определении свойств объектов пользователей см. в описании параметра Properties.

 

ПАРАМЕТРЫ

-AuthType <ADAuthType>

Задает используемый метод проверки подлинности. Возможные значения параметра:
Negotiate или 0
Basic или 1

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

Для метода проверки подлинности Basic требуется SSL-соединение.

В следующем примере показано, как присвоить этому параметру значение Basic.

-AuthType Basic

Возможные значения параметра:

Negotiate

Basic

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию Microsoft.ActiveDirectory.Management.AuthType.Negotiate
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Credential <PSCredential>

Задает параметры учетной записи пользователя для выполнения задачи. Учетными данными по умолчанию являются учетные данные текущего пользователя, вошедшего в систему, если только командлет не выполняется с диска поставщика Active Directory PowerShell. Если командлет выполняется с такого диска поставщика, в качестве значения по умолчанию используется учетная запись, связанная с диском.

Чтобы задать этот параметр, можно ввести имя пользователя, например «User1» или «Domain01\User01», либо указать объект PSCredential. Если для этого параметра задать имя пользователя, командлет запросит пароль.

Кроме того, объект PSCredential можно создать с помощью скрипта или командлета Get-Credential. Затем параметру Credential можно присвоить значение объекта PSCredential. В следующем примере показано как создать учетные данные.

$AdminCredentials = Get-Credential "Domain01\User01"

Ниже показано, как присвоить параметру Credential эти учетные данные.

-Credential $AdminCredentials

Если для используемых учетных данных не установлены полномочия на уровне каталога для выполнения задачи, Active Directory PowerShell вернет прерывающую ошибку.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Filter <string>

Задает строку запроса, получающую объекты Active Directory. Эта строка использует синтаксис языка выражений PowerShell. Синтаксис языка выражений PowerShell поддерживает широкие возможности преобразования типов для значений, принимаемых параметром Filter. В синтаксисе используется порядковое представление, что означает, что оператор помещается между операндом и значением. Дополнительные сведения о параметре Filter см. в разделе about_ActiveDirectory_Filter.

Синтаксис:
В следующем синтаксисе демонстрации использования языка выражений PowerShell для данного параметра используется форма Бэкуса-Наура.

<фильтр>::= «{» <список_компонентов_фильтра> «}»

<список_компонентов_фильтра> ::= <компонент_фильтра> | <компонент_фильтра> <оператор_соединения> <компонент_фильтра> | <оператор_Not><компонент_фильтра>

<компонент_фильтра> ::= <атрибут> <оператор_фильтра> <значение> | «(» <компонент_фильтра> «)»

<оператор_фильтра> ::= «-eq» | «-le» | «-ge» | «-ne» | «-lt» | «-gt»| «-approx» | «-bor» | «-band» | «-recursivematch» | «-like» | «-notlike»

<оператор_соединения> ::= «-and» | «-or»

<оператор_Not> ::= «-not»

<атрибут> ::= <имя_свойства> | <параметр LDAPDisplayName атрибута>

<значение>::= <сравнить это значение с атрибутом <атрибут> с помощью заданного оператора фильтра <оператор_фильтра>>

Список поддерживаемых типов для значения <значение> см. в разделе ActiveDirectory_ObjectModel.

Примеры

В следующих примерах показано, как использовать этот синтаксис в командлетах Active Directory.

Чтобы получить все объекты типа, указанного с помощью командлета, используйте подстановочный знак «звездочка».
Объекты всех пользователей:

Get-ADUser -Filter *

-или-
Объекты всех компьютеров:

Get-ADComputer -Filter *

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

Get-ADUser -Filter {EmailAddress -like "*"}

,

Get-ADUser -Filter {mail -like "*"}

-или-

Get-ADObject -Filter {(mail -like "*") -and (ObjectClass -eq "user")}

Примечание. Подстановочные знаки PowerShell, отличные от «*», например «?», не поддерживаются синтаксисом параметра Filter.

Чтобы получить объекты всех пользователей с фамилией Корепин и атрибутом электронной почты, воспользуйтесь одной из следующих команд:

Get-ADUser -filter {(EmailAddress -like "*") -and (Surname-eq "korepin")}

-или-

Get-ADUser -filter {(mail -eq "*") -and (sn -eq "Korepin")}

Чтобы получить объекты всех пользователей, которые не выполняли вход в систему с 1 января 2007 г., воспользуйтесь одной из следующих команд:

$logonDate = New-Object System.DateTime(2007, 1, 1)
Get-ADUser-filter { lastLogon -le $logonDate}

Чтобы получить все группы, для которых категория имеет значение Security, а область — Global, воспользуйтесь одной из следующих команд:

Get-ADGroup-filter {GroupCategory-eq "Security"-and GroupScope -eq "Global"}

-или-

Get-ADGroup -filter {GroupType -band 0x80000000}

Примечание. Чтобы сформировать запрос с использованием строк запроса LDAP, используйте параметр LDAPFilter.

Необходимость парaметров Обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Identity <ADUser>

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

Различающееся имя
Пример:CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Пример: 599c3d2e-f72d-4d20-8a88-030d99495f20
Идентификатор безопасности (objectSid)
Пример: S-1-5-21-3165297888-301567370-576410423-1103
Имя учетной записи SAM (sAMAccountName)
Пример: saradavis

Командлет ищет объект в пределах контекста или раздела именования по умолчанию. Если найдено несколько объектов, командлет вернет непрерывающую ошибку.

Этот параметр также может принимать данный объект по конвейеру, либо можно присваивать этому параметру экземпляр объекта.

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

-Identity "CN=InnaOzhogina,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com"

В данном примере показано, как присвоить этому параметру экземпляр объекта пользователя с именем «userInstance».

-Identity $userInstance

Необходимость парaметров Обязательный параметр
Позиция 1
Значение по умолчанию
Принимать входные данные конвейера true (ByValue)
Принимать подстановочные знаки false

 

-LDAPFilter <string>

Задает строку запроса LDAP, которая используется для фильтрации объектов Active Directory. Этот параметр можно использовать для выполнения существующих запросов LDAP. Синтаксис параметра Filter поддерживает те же функции, что и синтаксис LDAP. Дополнительные сведения см. в описании параметра Filter и в разделе about_ActiveDirectory_Filter.

В следующем примере показано, как задать этот параметр так, чтобы искать все объекты, имена которых начинаются на «inna», в подразделении, определяемом параметром SearchBase.

-LDAPFilter "(name=inna*)"-SearchScope Subtree -SearchBase "DC=NA,DC=fabrikam,DC=com"

Необходимость парaметров Обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Partition <string>

Задает различающееся имя раздела Active Directory. Различающееся имя должно являться одним из контекстов именования текущего сервера каталогов. Командлет ищет в этом разделе объект, заданный параметром Identity.
В следующих двух примерах показано, как задать значение этого параметра.

-Partition "CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"

-Partition "CN=Schema,CN=Configuration,DC=EUROPE,DC=TEST,DC=CONTOSO,DC=COM"

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

В средах доменных служб Active Directory Значение по умолчанию, параметра Partition будет установлено в следующих случаях.- Если в качестве значения параметра Identity установлено различающееся имя, для формирования значения по умолчанию параметра Partition автоматически используется это различающееся имя.
— При запуске командлетов с диска поставщика Active Directory для формирования значения по умолчанию параметра Partition автоматически используется текущий путь на диске.
— Если ни один из представленных выше вариантов не применим, в качестве значения по умолчанию параметра Partition будет использоваться раздел по умолчанию или контекст именования целевого домена.

В средах AD LDS Значение по умолчанию, параметра Partition будет установлено в следующих случаях.
— Если в качестве значения параметра Identity установлено различающееся имя, для формирования значения по умолчанию параметра Partition автоматически используется это различающееся имя.
— При запуске командлетов с диска поставщика Active Directory для формирования значения по умолчанию параметра Partition автоматически используется текущий путь на диске.
— Если для целевого экземпляра AD LDS существует контекст именования по умолчанию, в качестве значения по умолчанию параметра Partition будет использоваться этот контекст именования.Чтобы задать контекст именования по умолчанию для среды AD LDS, задайте значение свойства msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.
— Если ни один из представленных выше вариантов не применим, для параметра Partition не будет использоваться Значение по умолчанию,.

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Properties <string[]>

Задает свойства выходного объекта для получения с сервера. Этот параметр служит для извлечения свойств, отсутствующих в наборе по умолчанию.

Задайте свойства этого параметра в виде разделенного запятыми списка имен. Чтобы отобразить все заданные для объекта атрибуты, укажите звездочку (*).

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

Чтобы получить и отобразить свойства объекта, можно воспользоваться связанным с объектом командлетом Get-* и передать результаты его выполнения в командлет Get-Member. В следующих примерах показано, как получить свойства группы на примере объекта группы «Администраторы».

Get-ADGroup -Identity Administrators | Get-Member

Чтобы получить и отобразить список всех свойств объекта ADGroup, воспользуйтесь следующей командой:

Get-ADGroup -Identity Administrators -Properties *| Get-Member

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

Чтобы для объекта ADUser с именем «InnaOzhogina» получить расширенные свойства «OfficePhone» и «Organization», а также свойства по умолчанию, воспользуйтесь следующей командой:

GetADUser -Identity InnaOzhogina-Properties OfficePhone,Organization

Чтобы помимо свойств по умолчанию для данного пользователя получить еще и свойства с отображаемыми именами LDAP «otherTelephone» и «otherMobile», воспользуйтесь следующей командой:

GetADUser -Identity InnaOzhogina-Properties otherTelephone, otherMobile |Get-Member

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ResultPageSize <int>

Задает количество объектов на одной странице, возвращаемых запросом к доменным службам Active Directory.

По умолчанию количество объектов на одной странице составляет 256.

В следующем примере показано, как задать этот параметр.

-ResultPageSize 500

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию 256
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ResultSetSize <System.Nullable[System.Int32]>

Задает максимальное количество объектов, возвращаемых запросом к доменным службам Active Directory. Если требуется получать все объекты, установите для данного параметра значение $null (неопределенное значение). С помощью сочетания клавиш CTRL+C можно остановить обработку запроса (при этом произойдет возврат объектов). По умолчанию используется значение $null.
В следующем примере показано, как задать этот параметр так, чтобы получать все возвращаемые объекты.

-ResultSetSize $null

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-SearchBase <string>

Задает путь Active Directory, в котором выполняется поиск.

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

Если командлет выполняется вне диска поставщика Active Directory в отношении целевого объекта AD DS, по умолчанию для этого параметра используется значение контекста именования по умолчанию целевого домена.

Если командлет выполняется вне диска поставщика Active Directory в отношении целевого объекта AD LDS, по умолчанию для этого параметра используется значение контекста именования по умолчанию целевого экземпляра LDS, если он задан в свойстве msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.Если для целевого экземпляра AD LDS не указан контекст именования по умолчанию, для этого параметра не устанавливается Значение по умолчанию,.

В следующем примере показано, как настроить этот параметр для поиска в подразделении.

-SearchBase "ou=mfg,dc=noam,dc=corp,dc=contoso,dc=com"

Если в качестве значения параметра SearchBase указана пустая строка и имеется подключение к порту GC, выполняется поиск по всем разделам. Если в качестве значения параметра SearchBase указана пустая строка и отсутствует подключение к порту GC, будет возвращена ошибка.
В следующем примере показано, как присвоить этому параметру пустую строку.-SearchBase «»

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-SearchScope <ADSearchScope>

Задает область поиска по Active Directory. Возможные значения параметра:
Base или 0
OneLevel или 1
Subtree или 2

Основной запрос (типа «Base») выполняет поиск только по текущему пути или в текущем объекте. Одноуровневый запрос (типа «OneLevel») выполняет поиск в непосредственных дочерних элементах этого пути или объекта. Запрос по поддереву (типа «Subtree») выполняет поиск по текущему пути или в текущем объекте и во всех дочерних элементах этого пути или объекта.

В следующем примере показано, как настроить этот параметр для поиска по поддереву.

-SearchScope Subtree

Возможные значения параметра:

Base

OneLevel

Subtree

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию Subtree
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Server <string>

Задает используемый для подключения экземпляр доменных служб Active Directory, указывая одно из следующих значений соответствующего доменного имени или сервера каталогов. Служба может относиться к следующим категориям:службы Active Directory облегченного доступа к каталогам, доменные службы Active Directory или снимки Active Directory.
Значения доменного имени:
Полное доменное имя
Примеры corp.contoso.com
NetBIOS-имя
Пример: CORP

Значения сервера каталогов:
Полное имя сервера каталогов
Пример: corp-DC12.corp.contoso.com
NetBIOS-имя
Пример: corp-DC12
Полное имя сервера каталогов и порт
Пример: corp-DC12.corp.contoso.com:3268

Значение параметра Server по умолчанию определяется одним из следующих методов в указанном ниже порядке.
— Используя значение Server из объектов, переданных по конвейеру.
— Используя информацию о сервере, связанную с диском поставщика Active Directory PowerShell, если запуск выполнен с этого диска.
— Используя домен компьютера, на котором выполняется Powershell.

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

-Server "corp.contoso.com"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

<CommonParameters>

Этот командлет поддерживает общие параметры: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable и OutVariable. Дополнительные сведения см. в статье about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

 

ВХОДНЫЕ ДАННЫЕ

Нет или Microsoft.ActiveDirectory.Management.ADUser
Объект пользователя занесен в параметр Identity.

 

ВЫХОДНЫЕ ДАННЫЕ

Microsoft.ActiveDirectory.Management.ADUser
Возвращает один или несколько объектов пользователей.

Этот командлет возвращает значения свойств ADUser, входящих в набор по умолчанию. Чтобы получить дополнительные свойства ADUser, используйте параметр Properties.

Чтобы получить список свойств объекта ADUser, входящих в набор по умолчанию, воспользуйтесь следующей командой:

Get-ADUser <пользователь>| Get-Member

Чтобы получить список наиболее часто используемых свойств объекта ADUser, воспользуйтесь следующей командой:

Get-ADUser <пользователь> -Properties Extended | Get-Member

Чтобы получить список всех свойств объекта ADUser, воспользуйтесь следующей командой:

Get-ADUser <пользователь> -Properties * | Get-Member

 

ПРИМЕЧАНИЯ

Этот командлет не работает со снимками Active Directory.

 

ПРИМЕР 1

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

Получает всех пользователей, принадлежащих к контейнеру ‘OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM’.

ПРИМЕР 2

Get-ADUser -Filter 'Name -like "*SvcAccount"' | FT Name,SamAccountName -A

Name,SamAccountName
SQL01 SvcAccount,SQL01
SQL02 SvcAccount,SQL02
IIS01 SvcAccount,IIS01

Описание
————

Получает всех пользователей, имена которых оканчиваются на «SvcAccount».

ПРИМЕР 3

Get-ADUser GlenJohn -Properties *

Surname : John
Name: Glen John
UserPrincipalName :
GivenName : Glen
Enabled : False
SamAccountName: GlenJohn
ObjectClass: user
SID : S-1-5-21-2889043008-4136710315-2444824263-3544
ObjectGUID: e1418d64-096c-4cb0-b903-ebb66562d99d
DistinguishedName : CN=Glen John,OU=NorthAmerica,OU=Sales,OU=UserAccounts,DC=FABRIKAM,DC=COM

Описание
————

Получает все свойства пользователя с именем учетной записи SAM «GlenJohn».

ПРИМЕР 4

Get-ADUser -Filter {Name -eq "GlenJohn"} -SearchBase "DC=AppNC" -Properties mail -Server lds.Fabrikam.com:50000

Получает пользователя с именем «GlenJohn» из экземпляра AD LDS.

ССЫЛКИ ПО ТЕМЕ

Online version: http://go.microsoft.com/fwlink/?LinkID=144946
New-ADUser
Set-ADUser
Remove-ADUser

]]>
https://coolcode.ru/powershell-get-aduser/feed/ 0
PowerShell. New-ADUser https://coolcode.ru/new-aduser/ https://coolcode.ru/new-aduser/#respond Fri, 07 Oct 2016 04:11:10 +0000 http://coolcode.ru/?p=10051

ОПИСАНИЕ

Создает нового пользователя Active Directory.

СИНТАКСИС

New-ADUser [-Name] <string> [-AccountExpirationDate <System.Nullable[System.DateTime]>] [-AccountNotDelegated <System.Nullable[bool]>] [-AccountPassword <SecureString>] [-llowReversiblePasswordEncryption <System.Nullable[bool]>] [-AuthType{Negotiate | Basic}] [-CannotChangePassword <System.Nullable[bool]>] [-Certificates <X509Certificate[]>] [-hangePasswordAtLogon <System.Nullable[bool]>] [-City <string>] [-Company <string>] [-Country <string>] [-Credential <PSCredential>][-Department <string>] [-Description <string>] [-DisplayName <string>] [-Division <string>] [-EmailAddress <string>] [-EmployeeID <string>] [-EmployeeNumber <string>] [-Enabled <System.Nullable[bool]>] [-Fax <string>] [-GivenName <string>][-HomeDirectory <string>] [-HomeDrive <string>] [-HomePage <string>] [-HomePhone <string>] [-Initials <string>] [-Instance <ADUser>] [-LogonWorkstations <string>] [-Manager <ADUser>] [-MobilePhone <string>] [-Office <string>] [-OfficePhone<string>] [-Organization <string>] [-OtherAttributes <hashtable>] [-OtherName <string>] [-PassThru <switch>] [-PasswordNeverExpires <System.Nullable[bool]>] [-PasswordNotRequired <System.Nullable[bool]>] [-Path <string>] [-POBox <string>] [-PostalCode <string>] [-ProfilePath <string>] [-SamAccountName <string>] [-ScriptPath <string>] [-Server <string>] [-ServicePrincipalNames <string[]>] [-SmartcardLogonRequired <System.Nullable[bool]>] [-State <string>] [-StreetAddress <string>] [-Surname <string>] [-Title <string>] [-TrustedForDelegation <System.Nullable[bool]>] [-Type <string>] [-UserPrincipalName <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

ОПИСАНИЕ

Командлет New-ADUser создает нового пользователя Active Directory. Значения часто используемых свойств пользователя можно задать с помощью параметров командлета.

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

New-ADUser -SamAccountName "glenjohn" -GivenName "Glen" -Surname "John" -DisplayName "Glen John" -Path 'CN=Users,DC=fabrikam,DC=local' -OtherAttributes @{'msDS-PhoneticDisplayName'="GlenJohn"}

Для создания пользователя следует задать параметр SAMAccountName.

Командлет New-ADUser можно использовать для создания различных типов учетных записей пользователей, например учетных записей iNetOrgPerson. Чтобы сделать это в доменных службах Active Directory, задайте в параметре Type отображаемое имя LDAP типа создаваемой учетной записи. Этот тип может быть любым классом в схеме Active Directory, являющимся подклассом пользователя и имеющим категорию объекта «person».

Параметр Path задает контейнер или подразделение (OU) для нового пользователя. Если параметр Path не задан, командлет создает объект пользователя в контейнере по умолчанию для объектов пользователей в данном домене.

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

Метод 1. Используйте командлет New-ADUser, укажите обязательные параметры и задайте значения любых дополнительных свойств, используя параметры командлета.

Метод 2. Используйте шаблон для создания нового объекта. Для этого создайте новый объект пользователя или извлеките копию существующего объекта пользователя и задайте этот объект в качестве значения для параметра Instance. Передаваемый в параметр Instance объект используется в качестве шаблона для нового объекта. Значения свойств в шаблоне можно переопределять с помощью параметров командлетов. Примеры и дополнительные сведения см. в описании параметра Instance для данного командлета.

Метод 3. Используйте командлет Import-CSV с командлетом New-ADUser, чтобы создать несколько объектов пользователей Active Directory. Для этого воспользуйтесь командлетом Import-CSV, чтобы создать пользовательские объекты из файла разделенных запятыми значений (CSV), содержащего список свойств объектов. Затем передайте эти объекты по конвейеру командлету New-ADUser, чтобы создать объекты пользователей.

 

ПАРАМЕТРЫ

-AccountExpirationDate <System.Nullable[System.DateTime]>

Задает дату окончания срока действия учетной записи. Если задать для этого параметра значение 0, срок действия учетной записи никогда не истечет. Этот параметр задает свойство AccountExpirationDate объекта учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «accountExpires».

При задании этого параметра используйте синтаксис DateTime. Предполагается местное время, если не указано иное. Еслизначение времени не задано, предполагается 00:00:00 по местному времени. Если дата не указана, предполагается текущая дата. В следующем примере показан стандартный синтаксис определения объекта DateTime.
«4/17/2006»
«17.04.06»
«14:22:45»
«17.04.06 14:22:45»

В этих примерах задается одно и то же значение времени и даты без секунд.
«17.04.2006 14:22»
«17.04.06 14:22»
«14:22»

В следующем примере показано, как задать дату и время по стандарту RFC1123. В данном примере время определено по Гринвичу (GMT).
«Пн, 17 апр 2006 г., 21:22:48 GMT»

В следующем примере показано, как задать значение времени приема-передачи в формате UTC. В данном примере задано значение «Понедельник, 17 апреля 2006 г., 14:22:48 по времени UTC».
«2006-04-17T14:22:48.0000000»

В следующем примере показано, как присвоить этому параметру значение «1 мая 2012 г., 17:00».

-AccountExpirationDate "01.05.2012 17:00:00"

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

-AccountNotDelegated <System.Nullable[bool]>

Определяет, делегируется ли контекст безопасности пользователя службе. Если этот параметр имеет значение «true», контекст безопасности учетной записи не делегируется службе, даже если учетная запись службы является доверенной для делегирования Kerberos. Этот параметр задает свойство AccountNotDelegated для учетной записи Active Directory. Этот параметр также устанавливает флаг ADS_UF_NOT_DELEGATED атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

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

-AccountNotDelegated $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-AccountPassword <SecureString>

Задает новое значение пароля для учетной записи. Это значение хранится в виде зашифрованной строки.

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

В качестве пароля задано значение $null: пароль не задается и учетная запись отключается, если только ее включение не запрашивается.
Пароль не задан: пароль не задается и учетная запись отключается, если только ее включение не запрашивается.
Пароль пользователя задан: пароль задается и учетная запись отключается, если только ее включение не запрашивается.

Примечания.
По умолчанию учетные записи пользователей создаются без пароля. При предоставлении пароля предпринимается попытка задания пароля, однако она может оказаться неудачной в силу ограничений политики паролей. Учетная запись пользователя все же будет создана, и для нее можно будет задать пароль с помощью командлета Set-ADAccountPassword. В целях обеспечения безопасности учетных записей учетные записи пользователей не будут включаться, если только не задан допустимыйпароль или если для параметра PasswordNotRequired не задано значение true.
Учетная запись создается, если пароль не принимается по какой-либо причине.

В следующем примере показан один из методов задания этого параметра. Эта команда запрашивает пароль.

-AccountPassword (Read-Host -AsSecureString "AccountPassword")

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-AllowReversiblePasswordEncryption <System.Nullable[bool]>

Определяет, разрешено ли для данной учетной записи обратимое шифрование пароля. Этот параметр задает свойство AllowReversiblePasswordEncryption учетной записи. Этот параметр также устанавливает флаг ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как присвоить этому параметру значение «true».

-AllowReversiblePasswordEncryption $true

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-AuthType <ADAuthType>

Задает используемый метод проверки подлинности. Возможные значения параметра:
Negotiate или 0
Basic или 1

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

Для метода проверки подлинности Basic требуется SSL-соединение.

В следующем примере показано, как присвоить этому параметру значение Basic.

-AuthType Basic

Возможные значения параметра:
Negotiate
Basic

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию Microsoft.ActiveDirectory.Management.AuthType.Negotiate
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-CannotChangePassword <System.Nullable[bool]>

Определяет, можно ли изменять пароль данной учетной записи. Этот параметр задает свойство CannotChangePassword учетной записи. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как задать этот параметр так, чтобы можно было изменить пароль учетной записи.

-CannotChangePassword $false

Необходимость параметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Certificates <X509Certificate[]>

Изменяет сертификаты X.509v3 учетной записи в DER-кодировке. Эти сертификаты включают сертификаты открытых ключей, выданные этой учетной записи службой сертификации (Microsoft). Этот параметр задает свойство Certificates объекта учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «userCertificate».

Синтаксис:
Чтобы добавить значения, введите строку:

-Certificates @{Add=значение1,значение2,…}

Чтобы удалить значения, введите строку:

-Certificates @{Remove=значение3,значение4,...}

Чтобы заменить значения, введите строку:

-Certificates @{Replace=значение1,значение2,...}

Чтобы очистить все значения, введите строку:

-Certificates $null

С помощью списка значений, разделенных точкой с запятой, можно задать несколько операций одновременно. Например, длядобавления и удаления значений параметра Certificate используйте следующий синтаксис:

-Certificates @{Add=значение1,значение2,...};@{Remove=значение3,значение4,...}

Операторы будут применены в следующей последовательности:
..Remove
..Add
..Replace

В следующем примере показано, как создать сертификат с помощью командлета New-Object, а затем добавить этот сертификат к учетной записи пользователя. При выполнении этого командлета вместо строки <пароль сертификата> подставляется пароль, используемый для добавления сертификата.

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate certificate1.cer <пароль сертификата>
Set-ADUser innaozhogina -Certificates @{Add=$cert}

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

Set-ADUser innaozhogina -Certificates @{Add= [Byte[]](0xC5,0xEE,0x53,...)}

Необходимость пармаетров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-ChangePasswordAtLogon <System.Nullable[bool]>

Определяет, нужно ли изменить пароль при очередной попытке входа в систему. Возможные значения параметра:
$false или 0
$true или 1

Этому параметру нельзя присвоить значение $true или 1 для учетной записи, свойство PasswordNeverExpires которой такж
е имеет значение true.

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

-ChangePasswordAtLogon $true

Необходимость пармаетров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-City <string>

Задает город пользователя. Этот параметр задает свойство City пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «l».

В следующем примере показано, как задать этот параметр.

-City "Москва"

 

Необходимость пармаетров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Company <string>

Задает компанию пользователя. Этот параметр задает свойство Company объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «company».

В следующем примере показано, как задать этот параметр.

-Company "Contoso"

 

Необходимость параметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Country <string>

Задает код страны или региона для выбранного пользователем языка. Этот параметр задает свойство Country объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «c». Это значение не используется в Windows 2000.

В следующем примере показано, как задать этот параметр.

-Country "IN"

 

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Credential <PSCredential>

Задает параметры учетной записи пользователя для выполнения задачи. Учетными данными по умолчанию являются учетные данные текущего пользователя, вошедшего в систему, если только командлет не выполняется с диска поставщика Active Directory PowerShell. Если командлет выполняется с такого диска поставщика, в качестве значения по умолчанию используется учетная запись, связанная с диском.

Чтобы задать этот параметр, можно ввести имя пользователя, например «User1» или «Domain01\User01», либо указать объект PSCredential. Если для этого параметра задать имя пользователя, командлет запросит пароль.

Кроме того, объект PSCredential можно создать с помощью скрипта или командлета Get-Credential. Затем параметру Credential можно присвоить значение объекта PSCredential. В следующем примере показано как создать учетные данные.

$AdminCredentials = Get-Credential "Domain01\User01"

Ниже показано, как присвоить параметру Credential эти учетные данные.

-Credential $AdminCredentials

Если для используемых учетных данных не установлены полномочия на уровне каталога для выполнения задачи, Active Directory PowerShell вернет прерывающую ошибку.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-Department <string>

Задает отдел пользователя. Этот параметр задает свойство Department для пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «department».

В следующем примере показано, как задать этот параметр.

-Department "Development"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Description <string>

Задает описание объекта. Этот параметр задает значение свойства Description объекта. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «description».

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

-Description "Описание объекта"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-DisplayName <string>

Задает отображаемое имя объекта. Этот параметр задает свойство DisplayName объекта. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «displayName».

В следующем примере показано, как задать этот параметр.

-DisplayName "Ноутбук Инны Ожогиной"

 

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Division <string>

Задает отделение пользователя. Этот параметр задает свойство Division объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «division».

В следующем примере показано, как задать этот параметр.

-Division "Software"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-EmailAddress <string>

Задает адрес электронной почты пользователя. Этот параметр задает свойство EmailAddress объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «mail».

В следующем примере показано, как задать этот параметр.

-EmailAddress "innaozhogina@contoso.com"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-EmployeeID <string>

Задает ИД сотрудника этого пользователя. Этот параметр задает свойство EmployeeID объекта пользователя. Отображаемоеимя LDAP (ldapDisplayName) для этого свойства: «employeeID».

В следующем примере показано, как задать этот параметр.

-EmployeeID "A123456"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-EmployeeNumber <string>

Задает номер сотрудника, присвоенный пользователю. Этот параметр задает свойство EmployeeNumber объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «employeeNumber».

В следующем примере показано, как задать этот параметр.

-EmployeeNumber "12345678"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Enabled <System.Nullable[bool]>

Указывает, активна ли учетная запись. Для активной учетной записи необходимо указать пароль. Этот параметр задает свойство Enabled объекта учетной записи. Этот параметр также устанавливает флаг ADS_UF_ACCOUNTDISABLE атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

В следующем примере показано, как настроить этот параметр для включения учетной записи.

-Enabled $true

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Fax <string>

Задает номер факса пользователя. Этот параметр задает свойство Fax объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «facsimileTelephoneNumber».

В следующем примере показано, как задать этот параметр.

-Fax "+1 (999) 555 1212"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-GivenName <string>

Задает имя пользователя (без фамилии). Этот параметр задает свойство GivenName объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «givenName».

В следующем примере показано, как задать этот параметр.

-givenName "Ivan"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-HomeDirectory <string>

Указывает домашний каталог пользователя. Этот параметр задает свойство HomeDirectory объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «homeDirectory».

В следующем примере показано, как задать этот параметр.

-HomeDirectory "\\users\InnaOzhoginaHomeDir"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-HomeDrive <string>

Задает диск, связанный с UNC-путем, определенным свойством HomeDirectory. Буква диска указывается как «<буква_диска:», где <буква_диска> задает букву сопоставляемого диска. <буква_диска> — одна заглавная буква, двоеточие после нее обязательно. Этот параметр задает свойство HomeDrive объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «homeDrive».

В следующем примере показано, как задать этот параметр.

-HomeDrive "D:"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-HomePage <string>

Задает URL-адрес домашней страницы объекта. Этот параметр задает свойство homePage объекта Active Directory. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «wWWHomePage».

В следующем примере показано, как присвоить этому параметру URL-адрес.

-HomePage "http://employees.contoso.com/ozhogina"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-HomePhone <string>

Задает номер домашнего телефона пользователя. Этот параметр задает свойство пользователя HomePhone. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «homePhone».

В следующем примере показано, как задать этот параметр.

-HomePhone "+1 (999) 555 1212"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Initials <string>

Задает инициалы пользователя. Можно использовать это значение для задания инициала дополнительного имени или отчества пользователя. Этот параметр задает свойство пользователя Initials. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «initials».

В следующем примере показано, как задать этот параметр.

-Initials "L"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Instance <ADUser>

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

Можно использовать как шаблон экземпляр существующего объекта пользователя, либо можно создать новый объект пользователя для использования в качестве шаблона. Можно создать новый объект пользователя с помощью командной строки Windows PowerShell или сценария. Следующие примеры показывают, как создавать шаблоны объектов пользователей, используя эти два метода.

Метод 1. Используйте существующий объект пользователя в качестве шаблона для нового объекта. Для получения экземпляра существующего объекта пользователя можно использовать командлет, например, Get-ADUser. Затем передайте этот объект в параметре Instance командлета New-ADUser для создания нового объекта пользователя. Значения свойств нового объекта можно переопределить, задав соответствующие параметры.

$userInstance = Get-ADUser -Identity "saraDavis" 
New-ADUser -SAMAccountName "ellenAdams" -Instance $userInstance -DisplayName "EllenAdams"

Метод 2. Создайте новый объект ADUser и задайте значения свойств с помощью интерфейса командной строки Windows PowerShell. Затем передайте этот объект в параметре Instance командлета New-ADUser для создания нового объекта пользователя Active Directory.

$userInstance = new-object Microsoft.ActiveDirectory.Management.ADUser
$userInstance.DisplayName = "Ellen Adams"
New-ADUser -SAMAccountName "ellenAdams" -Instance $userInstance

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

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-LogonWorkstations <string>

Задает компьютеры, к которым пользователь может получить доступ. Чтобы задать несколько компьютеров, используйте список значений, разделенных запятыми. Можно идентифицировать компьютер с помощью учетной записи SAM (sAMAccountName) или DNS-имени компьютера. Имя учетной записи SAM совпадает с NetBIOS-именем компьютера.

Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «userWorkStations».

В следующем примере показано, как задать этот параметр, используя значения SAMAccountName (NetBIOS-имя) и DNSHostName.

-LogonWorkstations "innaOzhoginaDesktop,innaOzhoginaLapTop,projectA.corp.contoso.com"

 

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Manager <ADUser>

Задает руководителя пользователя. Этот параметр задает свойство пользователя Manager. Этот параметр задается путем у
казания одного из следующих значений свойства. Примечание. Идентификатор в скобках представляет собой отображаемое
имя LDAP свойства.

Различающееся имя
Пример: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Пример: 599c3d2e-f72d-4d20-8a88-030d99495f20
Идентификатор безопасности (objectSid)
Пример: S-1-5-21-3165297888-301567370-576410423-1103
Имя учетной записи SAM (sAMAccountName)
Пример: saradavis

Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «manager».

В следующем примере показано, как задать этот параметр.

-Manager innaozhogina

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-MobilePhone <string>

Задает номер мобильного телефона пользователя. Этот параметр задает свойство MobilePhone объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «mobile».

В следующем примере показано, как задать этот параметр.

-MobilePhone "+1 (999 ) 555 1212"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Name <string>

Задает имя объекта. Этот параметр задает свойство Name объекта Active Directory. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «name».

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

-Name "InnaOzhogina"

Необходимость парaметров Обязательный параметр
Позиция  2
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Office <string>

Задает офис пользователя. Этот параметр задает свойство Office объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «office».

В следующем примере показано, как задать этот параметр.

-Office "D1042"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-OfficePhone <string>

Задает номер рабочего телефона пользователя. Этот параметр задает свойство OfficePhone объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «telephoneNumber».

В следующем примере показано, как задать этот параметр.

-OfficePhone "+1 (999) 555 1212"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Organization <string>

Задает организацию пользователя. Этот параметр задает свойство Organization объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «o».

В следующем примере показано, как задать этот параметр.

-Organization "Accounting"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-OtherAttributes <hashtable>

Задает значение атрибутов объекта для атрибутов, которые не представлены параметрами командлета. С помощью этого параметра можно одновременно задать один или несколько параметров. Если атрибут позволяет задать более одного значения, ему можно присвоить несколько значений. Чтобы определить атрибут, укажите определенное для него отображаемое имя LDAP (ldapDisplayName) в схеме Active Directory.

Синтаксис:
Чтобы задать одно значение для атрибута:

-OtherAttributes @{'AttributeLDAPDisplayName'=значение}

Чтобы задать несколько значений для атрибута

-OtherAttributes @{'AttributeLDAPDisplayName'=значение1,значение2,...}

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

-OtherAttributes @{'Attribute1LDAPDisplayName'=значение; 'Attribute2LDAPDisplayName'=значение1,значение2;...}

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

Чтобы задать значение пользовательского атрибута favColors, который принимает набор строк в кодировке Юникод, воспользуйтесь следующим синтаксисом:

-OtherAttributes @{'favColors'="pink","purple"}

Чтобы одновременно задать значения параметров favColors и dateOfBirth, используйте следующий синтаксис:

-OtherAttributes @{'favColors'="pink","purple"; 'dateOfBirth'=" 01/01/1960"}

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-OtherName <string>

Задает дополнительное имя пользователя, например отчество. Этот параметр задает свойство OtherName объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «middleName».

В следующем примере показано, как задать этот параметр.

-OtherName "Ivanovich"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-PassThru <switch>

Возвращает новый или измененный объект. По умолчанию (если не указан параметр -PassThru) этот командлет не формирует никаких выходных данных.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-PasswordNeverExpires <System.Nullable[bool]>

Определяет, может ли истечь срок действия пароля учетной записи. Этот параметр задает свойство PasswordNeverExpires объекта учетной записи. Этот параметр также устанавливает флаг ADS_UF_DONT_EXPIRE_PASSWD атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

Примечание. Этому параметру нельзя присвоить значение $true или 1 для учетной записи, свойство ChangePasswordAtLogon которой также имеет значение true.

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

-PasswordNeverExpires $false

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-PasswordNotRequired <System.Nullable[bool]>

Определяет, требуется ли пароль для данной учетной записи. Для новой учетной записи пароль не обязателен. Этот параметр задает свойство PasswordNotRequired объекта учетной записи.

В следующем примере показано, как присвоить этому параметру значение «true».

-PasswordNotRequired $true

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Path <string>

Задает путь X.500 подразделения или контейнера, в котором создается объект.

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

В средах AD DS Значение по умолчанию, параметра Path будет установлено в следующих случаях.
— Если командлет выполняется с диска поставщика Active Directory PowerShell, в качестве значения параметра устанавливается текущий путь к диску поставщика.
— Если для командлета задан путь по умолчанию, будет использоваться этот путь. Пример: в командлете New-ADUser значение параметра Path по умолчанию соответствует контейнеру Users.
— Если ни один из представленных выше вариантов не применим, в качестве значения Path по умолчанию будет использоваться раздел по умолчанию или контекст именования целевого домена.

В средах AD LDS Значение по умолчанию, параметра Path будет установлено в следующих случаях.
— Если командлет выполняется с диска поставщика Active Directory PowerShell, в качестве значения параметра устанавливается текущий путь к диску поставщика.
— Если для командлета задан путь по умолчанию, будет использоваться этот путь. Пример: в командлете New-ADUser значение параметра Path по умолчанию соответствует контейнеру Users.
— Если для целевого экземпляра AD LDS существует контекст именования по умолчанию, в качестве значения по умолчанию параметра Path будет использоваться этот контекст именования. Чтобы задать контекст именования по умолчанию для среды AD LDS, задайте значение свойства msDS-defaultNamingContext объекта агента служб каталогов (DSA) Active Directory (nTDSDSA) для экземпляра AD LDS.
— Если ни один из представленных выше вариантов не применим, для параметра Path не будет использоваться Значение по умолчанию,.

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

-Path "ou=mfg,dc=noam,dc=corp,dc=contoso,dc=com"

Примечание. Командлеты поставщика Active Directory, например New-Item, Remove-Item, Remove-ItemProperty, Rename-Item и Set-ItemProperty, также содержат свойство Path. Однако для командлетов поставщиков параметр Path идентифицирует путь к реальному объекту, а не к контейнеру как для командлетов Active Directory.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-POBox <string>

Задает номер абонементного почтового ящика пользователя. Этот параметр задает свойство POBox объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «postOfficeBox».

В следующем примере показано, как задать этот параметр.

-POBox "25662"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-PostalCode <string>

Задает почтовый индекс пользователя. Этот параметр задает свойство PostalCode пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «postalCode».

В следующем примере показано, как задать этот параметр.

-PostalCode "28712"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-ProfilePath <string>

Задает путь к профилю пользователя. Это значение может представлять собой локальный абсолютный путь или UNC-путь. Этот параметр задает свойство ProfilePath объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «profilePath».

В следующих примерах показано, как присвоить этому параметру локальный путь или UNC-путь. -ProfilePath «E:\users\profiles\innaOzhogina»

-ProfilePath "\\users\profiles\innaOzhogina"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-SamAccountName <string>

Задает имя учетной записи SAM пользователя, группы, компьютера или службы. Максимальная длина описания — 256 знаков. Для совместимости с более старыми операционными системами создайте имя учетной записи SAM длиной не более 20 знаков. Этот параметр задает свойство SAMAccountName объекта учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «sAMAccountName».

В следующем примере показано, как задать этот параметр.

-SAMAccountName "innaozhogina"

Примечание. Если указанное строковое значение не заканчивается символом «$», система добавляет этот символ при необходимости.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-ScriptPath <string>

Задает путь к скрипту входа пользователя. Это значение может представлять собой локальный абсолютный путь или UNC-путь. Этот параметр задает свойство ScriptPath пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «scriptPath».

В следующем примере показано, как задать этот параметр.

-ScriptPath "\\logonScripts\innaozhoginaLogin"

 

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Server <string>

Задает используемый для подключения экземпляр доменных служб Active Directory, указывая одно из следующих значений соответствующего доменного имени или сервера каталогов. Служба может относиться к следующим категориям: службы Active Directory облегченного доступа к каталогам, доменные службы Active Directory или снимки Active Directory.
Значения доменного имени:
Полное доменное имя
Примеры corp.contoso.com
NetBIOS-имя
Пример: CORP

Значения сервера каталогов:
Полное имя сервера каталогов
Пример: corp-DC12.corp.contoso.com
NetBIOS-имя
Пример: corp-DC12
Полное имя сервера каталогов и порт
Пример: corp-DC12.corp.contoso.com:3268

Значение параметра Server по умолчанию определяется одним из следующих методов в указанном ниже порядке.
— Используя значение Server из объектов, переданных по конвейеру.
— Используя информацию о сервере, связанную с диском поставщика Active Directory PowerShell, если запуск выполнен с этого диска.
— Используя домен компьютера, на котором выполняется Powershell.

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

-Server "corp.contoso.com"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-ServicePrincipalNames <string[]>

Задает имена участников-служб для учетной записи. Этот параметр задает свойство ServicePrincipalNames учетной записи. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «servicePrincipalName». Для добавления, замены или очистки значений имен служб-участников этот параметр использует следующий синтаксис.
Синтаксис:
Чтобы добавить значения, введите строку:

-ServicePrincipalNames @{Add=значение1,значение2,...}

Чтобы удалить значения, введите строку:

-ServicePrincipalNames @{Remove=значение3,значение4,...}

Чтобы заменить значения, введите строку:

-ServicePrincipalNames @{Replace=значение1,значение2,...}

Чтобы очистить все значения, введите строку:

-ServicePrincipalNames $null

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

@{Add=значение1,значение2,...};@{Remove=значение3,значение4,...}

Операторы будут применены в следующей последовательности:
..Remove
..Add
..Replace

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

-ServicePrincipalNames-@{Add="SQLservice\accounting.corp.contoso.com:1456"};{Remove="SQLservice\finance.corp.contoso.com:1456"}

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-SmartcardLogonRequired <System.Nullable[bool]>

Задает, требуется ли смарт-карта для входа в систему. Этот параметр задает свойство SmartCardLoginRequired для пользователя. Этот параметр также устанавливает флаг ADS_UF_SMARTCARD_REQUIRED атрибута контроля учетных записей Active Directory. Возможные значения параметра:
$false или 0
$true или 1

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

-SmartCardLogonRequired $true

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-State <string>

Задает область или край для пользователя или организационного подразделения. Этот параметр задает свойство State объекта пользователя или подразделения. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «st».

В следующем примере показано, как задать этот параметр.

-State "Московская область"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-StreetAddress <string>

Задает почтовый адрес пользователя. Этот параметр задает свойство StreetAddress объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «streetAddress».

В следующем примере показано, как задать этот параметр.

-StreetAddress "ул. Ленина 45-10"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Surname <string>

Задает фамилию пользователя. Этот параметр задает свойство Surname объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «sn».

В следующем примере показано, как задать этот параметр.

-Surname "Komashinsky"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Title <string>

Задает должность пользователя. Этот параметр задает свойство Title объекта пользователя. Отображаемое имя LDAP (ldapDisplayName) для этого свойства: «title».

В следующем примере показано, как задать этот параметр.

-Title "Manager"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-TrustedForDelegation <System.Nullable[bool]>

Определяет, является ли учетная запись доверенной для делегирования Kerberos. Служба, которая выполняется от имени учетной записи, доверенной для делегирования Kerberos, может заменить клиент, запрашивающий службу. Этот параметр задает свойство TrustedForDelegation объекта учетной записи. Это значение также устанавливает флаг ADS_UF_TRUSTED_FOR_DELEGATION атрибута контроля учетных записей пользователей Active Directory. Возможные значения параметра:

$false или 0
$true или 1

В следующем примере показано, как указать, что учетная запись является доверенной для делегирования Kerberos.

-TrustedForDelegation $true

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Type <string>

Указывает тип создаваемого объекта. Задайте для параметра Type отображаемое имя LDAP класса схемы Active Directory, соответствующего типу создаваемого объекта. Выбранный тип должен быть подклассом класса схемы User Если параметр не указан, Значение по умолчанию, будет равно «User».

В следующем примере показано, как использовать этот параметр для создания нового объекта InetOrgPerson Active Directory.

-Type "InetOrgPerson"

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию user
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-UserPrincipalName <string>

Для каждой учетной записи пользователя существует имя участника-пользователя (UPN) в формате <имя_пользователя>@<DNS-имя_домена>. UPN представляет собой назначенное администратором удобное для пользователя и легко запоминаемое имя, длина которого меньше различающегося имени LDAP, используемого системой. Имя участника-пользователя не зависит от различающегося имени объекта, поэтому объект пользователя можно переместить или переименовать без изменения имени пользователя для входа в систему. При входе в систему с использованием имени участника-пользователя теперь не требуется выбирать домен из списка в диалоговом окне входа в систему.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера true (ByPropertyName)
Принимать подстановочные знаки false

 

-Confirm [<SwitchParameter>]

Запрашивает подтверждение перед выполнением команды.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

 

-WhatIf [<SwitchParameter>]

Описывает, что произойдет при выполнении команды, без ее фактического выполнения.

Необходимость парaметров Не обязательный параметр
Позиция именованный параметр.
Значение по умолчанию
Принимать входные данные конвейера false
Принимать подстановочные знаки false

<CommonParameters>

Этот командлет поддерживает общие параметры: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable и OutVariable. Дополнительные сведения см. в статье
about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

ВХОДНЫЕ ДАННЫЕ

Нет или Microsoft.ActiveDirectory.Management.ADUser

Объект пользователя, который является шаблоном нового объекта пользователя, принимается параметром Instance.

ВЫХОДНЫЕ ДАННЫЕ

Нет или Microsoft.ActiveDirectory.Management.ADUser

Возвращает новый объект пользователя, если задан параметр PassThru. По умолчанию этот командлет не формирует никаких
выходных данных.

ПРИМЕЧАНИЯ

Этот командлет не работает со снимками Active Directory.
Этот командлет не работает с контроллером домена, доступным только для чтения.

ПРИМЕР 1

New-ADUser GlenJohn -Certificate (new-object System.Security.Cryptography.X509Certificates.X509Certificate -ArgumentList "export.cer")

Создает нового пользователя «GlenJohn» с помощью сертификата, импортируемого из файла «export.cer».

ПРИМЕР 2

New-ADUser GlenJohn -OtherAttributes @{title="director";mail="glenjohn@fabrikam.com"}

Создает нового пользователя «GlenJohn», задавая должность и адрес почты для нового объекта.

ПРИМЕР 3

New-ADUser GlenJohn -Type iNetOrgPerson -Path "DC=AppNC" -server lds.Fabrikam.com:50000

Создает новый объект inetOrgPerson с именем «GlenJohn» в экземпляре AD LDS.

 

ССЫЛКИ ПО ТЕМЕ

Online version: http://go.microsoft.com/fwlink/?LinkID=144970
Get-ADUser
Set-ADUser
Remove-ADUser

]]>
https://coolcode.ru/new-aduser/feed/ 0
Arduino https://coolcode.ru/arduino_list/ https://coolcode.ru/arduino_list/#comments Tue, 10 May 2016 09:04:39 +0000 http://coolcode.ru/?p=8160

Arduino_Logo.svg_ genuinobrand

Цикл статей посвящённый первым шагам по программированию плат Arduino.

Arduino. Подключение светодиода.

В данной статье описывается работа с цифровой ножкой в режиме OUTPUT.

 

Arduino. Подключение тактовой кнопки.

В данной статье описывается работа с цифровой ножкой в режиме INPUT.

 

Arduino. Управление сервоприводом, на примере SG90.

Используем стандартную библиотеку Servo.h

 

Arduino. Взаимодействие с компьютером через USB порт.

Здесь описывается взаимодействие с платой Arduino  через окно «Мониторинг порта»

 

Arduino. Подключение аналогового датчика уровня воды.

Получаем аналоговую информацию с помощью аналоговой ножки.

 

Arduino. Управление сервоприводом без библиотеки Servo.h

Общаемся с сервоприводом, посредством передачи сформированных «в ручную» цифровых сигналов.

 

Arduino. Датчик влажности и температуры DTH11, подключаем через библиотеку DHT.h

Используем стороннюю библиотеку загруженную с github.

 

Arduino. Датчик влажности и температуры DTH11, общаемся на прямую.

Передаём и получаем цифровые сигналы с датчика на прямую.

 

Arduino. Датчик Света. MH-Series

Arduino. Геркон магнитный Датчик. MH-Series

Arduino. Датчик вибраций SW-420. MH-Series

Ряд примеров использования датчиков MH-серии

 

Arduino. Ультразвуковой датчик HC-SR04

Подключение ультразвукового датчика расстояния к arduino без сторонних библиотек.

]]>
https://coolcode.ru/arduino_list/feed/ 3
Arduino Uno https://coolcode.ru/arduino-uno/ https://coolcode.ru/arduino-uno/#respond Thu, 24 Mar 2016 11:52:42 +0000 http://coolcode.ru/?p=7435

Arduino board UNO

Технические Характеристики

Название Значение
Микроконтроллер ATmega328
Рабочее напряжение
Напряжение питания (рекомендуемое) 7-12В
Напряжение питания (предельное) 6-20В
Цифровые входы/выходы 14
ШИМ-выходы 6
Аналоговые входы 6
Максимальный ток одного вывода 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 32 КБ (0.5 КБ используются загрузчиком)
SRAM 2 КБ (ATmega328)
EEPROM 1 КБ (ATmega328)
Тактовая частота 16 МГц

Разводка выводов Arduino UNO:

Схема Arduino(TM) UNO Rev3

Arduino_uno_Pinout

IDE Номер идентификатора на чипсете Порт идентификатора Цифровой идентификатор Функционал Модуляция
0 2 PD0 PCINT16 RXD RX
1 3 PD1 PCINT17 TXD TX
2 4 PD2 PCINT18 INT0
3 5 PD3 PCINT19 INT1 OC2B PWD
4 6 PD4 PCINT20 T0 XCK
5 11 PD5 PCINT21 T1 PWD
6 12 PD6 PCINT22 AIN0 OC0A PWD
7 13 PD7 PCINT23 AIN1
8 14 PB0 PCINT0 CLK0 ICP1
9 15 PB1 PCINT1 OC1A PWD
10 16 PB2 PCINT2 OC1B SS PWD
11 17 PB3 PCINT3 OC2A MOSI PWD
12 18 PB4 PCINT4 MISO
13 19 PB5 PCINT5 LED SCK
14/A0 23 PC0 PCINT8 ADC0
15/A1 24 PC1 PCINT9 ADC1
16/A2 25 PC2 PCINT10 ADC2
17/A3 26 PC3 PCINT11 ADC3
18/A4 27 PC4 PCINT12 SDA ADC4
19/A5 28 PC5 PCINT13 SCL ADC5
RESET 1 PC6 PCINT14 RESRET
AREF 21 AREF
GND GND
VIN VIN
5V 5V
3V3 3V3
IOREF IOREF
9 PB6 PCINT6 XTAL1 OSC1
10 PB7 PCINT7 XTAL2 OSC2

PWD — Широтно-импульсная модуляция.

ADC-Аналого-цифровой преобразователь

RX,TX — Интерфейс UART TTL (5 В) используется для обмена днными.

SDA,SCL- Шина $$I^2C$$  осуществляется связь I2C (TWI).

SS,MOSI,MISO, SCK — Шина SPI, последовательный переферийный интерфейс.

LED — Использовать 13 штырёк в качестве порта ввода затруднительно, из-за подключенного к нему светодиода и резистора. При подключении подтягивающего резистора 20 кОм на вводе будет 1.7V вместо 5V, т.к. происходит падение напряжения на светодиоде и включенном последовательно резисторе. При необходимости использовать 13 штырёк как цифровой порт ввода требуется подключить между выводом и землей внешний подтягивающий резистор.

 

Установка программного обеспечения для работы с Arduino UNO

Всё необходимое программное обеспечение можно скчать с официального сайта. Для этого перейдите по данной ссыле.

И скачайте нужный вам дистрибутив:

ArduinoССebDownload

Windows:

После этого в Windows запустите установку. Соглашаемся с лицензией. Next-> оставляем все галки, Next -> выбираем путь для установки. Next.

Во время установки у вас спросят разрешение на установку драйверов. Соглашаемся.

После нажимаем Close

Linux:

Для начало посмотрите в своих дистрибутивах пакет arduino* именно он вам и нужен.

Mac:

Скопируйте приложение Arduino в папку Applications

.

Подключение платы Aruino UNO

1) Подключите вашу Arduino плату, через USB разъём.

2) Выбираем плату:

Tools -> Board->Arduino/Genuino Uno

или

Инструменты->Плата->Arduino/Genuino Uno

ArduinoUNOselectBoard

3) Выбираем порт:

Windows:

Tools -> Serial Port -> COM3

или

Инструменты->Порт->COM3

Linux:

Tools -> Serial Port ->/dev/ttyACM0

или

Инструменты->Порт->/dev/ttyACM0

MAC:

Tools -> Serial Port ->dev/tty.usbmodem

или

Инструменты->Порт->dev/tty.usbmodem

4) Пишем Скетч.

5) Для загрузки Скетча на плату выбираем:

Скетч->Загрузка

или

Sketch->Upload

или нажимаем клавиши «Ctrl»+»u»

]]>
https://coolcode.ru/arduino-uno/feed/ 0
Платы Arduino. https://coolcode.ru/platyi-arduion/ https://coolcode.ru/platyi-arduion/#respond Wed, 23 Mar 2016 11:48:07 +0000 http://coolcode.ru/?p=7376

Изображение Имя Процессор Рабочее/Входное напряжение Скорость
CPU
Аналоговые Входы/Выходы Цифровые «Входы/выходы»(IO)/ШИМ(PWM) ЭСППЗУ
(EEPROM)
[kB]
память
(SRAM)
[kB]
Флеш-память
(Flash) [kB]
USB УАПП
(UART)
Длина Ширина Вес Особенности
Начальный уровень
Arduino board 101 101 Intel® Curie 3.3 V/ 7-12V 32MHz 6/0 14/4 - 24 196 Regular - 68.6 мм 53.4 мм Bluetooth LE, 6-axis accelerometer/gyro
Arduino board UNO Uno ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/6 1 2 32 Regular 1 68.6 мм 53.4 мм 25 г. Ток на цифровых вводах выводах 20 мА,Постоянный ток для 3.3В 50 мА
Arduino board ArduinoNanoFront Nano ATmega168
ATmega328P
5 V / 7-9 V 16 MHz 8/0 14/6 0.512
1
1\2 16\32 Mini 1 45мм 18мм Ток на цифровых вводах выводах 40 мА
Arduino board Pro Pro ATmega168
ATmega328P
3.3 V / 3.35-12 V
5 V / 5-12 V
8 MHz
16 MHz
6/0 14/6 0.512
1
1 ,2 16 ,32 - 1 - - - Ток на цифровых вводах выводах 40 мА
Arduino board ProMini Pro Mini ATmega328P 3.3 V / 3.35-12 V
5 V / 5-12 V
8 MHz
16 MHz
6/0 14/6 1 1 32 - 1 33мм 18мм - Ток на цифровых вводах выводах 40 мА
Arduino board Micro Micro ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/7 1 2.5 32 Micro 1 48мм 18мм 13г. Ток на цифровых вводах выводах 20 мА,Постоянный ток для 3.3В 50 мА
Расширенные особенности
Arduino board Due Due ATSAM3X8E 3.3 V / 7-12 V 84 MHz 12/2 54/12 - 96 512 2 Micro 4 101.52 мм 53.3 мм 36 г Общий цифровой ток на всех линиях ввода-вывода 130 мА,Постоянный ток для 3.3В 800 мА, Постоянный ток для 5В 800мА
Arduino board ArdGen_Mega Mega 2560 ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4 101.52мм 53.3мм 37г. Ток на цифровых вводах выводах 20 мА,Постоянный ток для 3.3В 50 мА
Arduino board MEGA ADK Mega ADK ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4 101.52мм 53.3мм 36 г. USB контроллер MAX3421E
Arduino board Zero Zero ATSAMD21G18 3.3 V / 7-12 V 48 MHz 6/1 14/10 - 32 256 2 Micro 2 - - -
Интернет вещи
Arduino board Yun Yùn ATmega32U4
AR9331 Linux
5 V 16 MHz
400MHz
12/0 20/7 1 2.5
16MB
32
64MB
Micro 1 - - - поддержка Linux дистрибутивов на базе OpenWrt — OpenWrt-Yun
Переносимые
Arduino board Gemma Gemma ATtiny85 3.3 V / 4-16 V 8 MHz 1/0 3/2 0.5 0.5 8 Micro 0 27.94 мм 27.94 мм Круглая Длина и ширина это диаметр,Ток на цифровых вводах выводах 20 мА
Arduino board LilyPad LilyPad ATmega168V
ATmega328P
2.7-5.5 V
2.7-5.5 V
8MHz 6/0 14/6 0.512 1 16 - - 51мм 50мм - Круглая диаметр~5см
Arduino board LilyPad Simple LilyPad SimpleSnap ATmega328P 2.7-5.5 V
2.7-5.5 V
8 MHz 4/0 9/4 1 2 32 - - 50мм 50мм - Круглая диаметр~5см
Arduino board LilyPad USB LilyPad USB ATmega32U4 3.3 V / 3.8-5 V 8 MHz 4/0 9/4 1 2.5 32 Micro - 52мм 51мм - Круглая диаметр~5см
Arduino board MKR1000 MKR1000 SAMD21 Cortex-M0+ 3.3 V/ 5V 48MHz 7/1 8/4 - 32 256 Micro 1 - - - поддерживает аккамуляторы Li-Po single cell, 3.7V, >=700mAh
]]>
https://coolcode.ru/platyi-arduion/feed/ 0
PowerShell. Решение проблем связынных с удалённым подключением (about_Remote_Troubleshooting) https://coolcode.ru/powershell-reshenie-problem-svyazyinnyih-s-udalyonnyim-podklyucheniem-about_remote_troubleshooting/ https://coolcode.ru/powershell-reshenie-problem-svyazyinnyih-s-udalyonnyim-podklyucheniem-about_remote_troubleshooting/#respond Tue, 29 Dec 2015 09:53:26 +0000 http://coolcode.ru/?p=5322

В этом разделе описываются некоторые из проблем, которые могут возникнуть при использовании функций удалённого взаимодействия Windows PowerShell, основанные на технологии WS-Management, и предлагаются решения этих проблем.

Перед использованием удалённого взаимодействия Windows PowerShell , рекомендуется ознакомиться с about_Remote и about_Remote_Requirements для изучения руководств по конфигурации и базовом использовании удалённого взаимодействия. Кроме того, справки по каждому из командлетов удаленного взаимодействия, в частности описание параметров, имеют полезную информацию, которая предназначена, чтобы помочь вам избежать проблем.

Обновленные версии этой темы, и другие справки Windows PowerShell, могут быть скачаны с помощью командлета Update-Help.

ПРИМЕЧАНИЕ: Чтобы просмотреть или изменить настройки для локального компьютера на диске WSMan: , в том числе изменить конфигурацию сессий, доверенных хостов, портов или слушателей, запустите Windows PowerShell с параметром «Запуск от имени администратора».

 

Решение вопросов, связанных с правами доступа и аутентификации

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

 

 Как запустить от имени администратора

ОШИБКА: Отказано в доступе. Вам необходимо запустить этот командлет с повышенными правами.
ERROR: Access is denied. You need to run this cmdlet from an elevated process.

Чтобы запустить сессию удаленного взаимодействия на локальном компьютере, или просмотреть и изменить настройки локального компьютера на диске WSMan:, в том числе изменить конфигурацию сессий, доверенных хостов, портов или слушателей, необходимо запустить Windows PowerShell командой «Запуск от имени администратора».

Чтобы запустить Windows PowerShell командой «Запуск от имени администратора»:
— Щелкните правой кнопкой мыши по значку Windows PowerShell (или Windows PowerShell ISE) и нажмите «Запуск от имени администратора».

Чтобы запустить Windows PowerShell командой «Запуск от имени администратора» в Windows 7 и Windows Server 2008 R2.
— На панели задач Windows, щелкните правой кнопкой мыши значок Windows PowerShell, а затем нажмите кнопку «Запуск от имени администратора».

Примечание: По умолчанию, в Windows Server 2008 R2, значок Windows PowerShell закреплен на панели задач .

 

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

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED
или
ОШИБКА: В соединении с удаленным хостом было отказано. Убедитесь, что служба WS-Management запущена на удаленном хосте и настроена для прослушивания запросов на правильный порт и HTTP URL.
ERROR: The connection to the remote host was refused. Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL.

Для того, что бы компьютер отправлял удалённые команды не требуется ни каких настроек. Тем не менее, для получения удаленных команд, Windows PowerShell Remoting должен быть настроен на удалённом компьютере. Настройка включает в себя запуск службы WinRM, установка типа запуска для службы WinRM в Automatic режим, настройка прослушивания HTTP и HTTPS соединений, а также создание конфигураций сеансов по умолчанию.

По умолчанию, Windows PowerShell Remoting включен в Windows Server 2012 и более новых версиях серверных систем Windows. Чтобы включить удаленное взаимодействие, на всех других системах, необходимо запустить командлет Enable-PSRemoting. На Windows Server 2012 и более новых версиях Windows Server, можно так же повторно запустить командлет Enable-PSRemoting, это включит удаленное взаимодействие, если оно было отключено.

Чтобы настроить компьютер на получение удаленных команд, воспользуйтесь командлетом Enable-PSRemoting. Этот командлет настроит все необходимые параметры удаленного взаимодействия, настроит конфигурацию сессий и перезапустит службы WinRM, чтобы изменения вступили в силу.

Enable-PSRemoting

Для подавления всех пользовательских подсказок укажите парметр -Force:

Enable-PSRemoting -Force

Для получения дополнительной информации см Enable-PSRemoting.

 

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

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED
или
ОШИБКА: В соединении с удаленным хостом было отказано. Убедитесь, что служба WS-Management запущена на удаленном хосте и настроена для прослушивания запросов на правильный порт и HTTP URL.
ERROR: The connection to the remote host was refused. Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL.

Для настройки одного компьютера на приёма соединений и выполнения на нём удалённых команд в Windows PowerShell, используется командлет Enable-PSRemoting.

Чтобы включить удаленное взаимодействие на нескольких компьютерах в предприятии, можно воспользоваться следующим вариантом.
— Чтобы настроить слушателей на удаленное взаимодействие, надо включить параметр «Allow automatic configuration of listeners» в групповой политике. Для получения инструкций см «Как включить слушателей с помощью групповой политики» (раздел ниже).
— Чтобы на нескольких компьютерах изменить тип запуска Windows Remote Management (WinRM) на Automatic, используется командлет Set-Service. Для получения инструкций см «Как изменить тип запуска, в службе WinRM» (раздел ниже).
— Чтобы настроить исключение брандмауэра, надо воспользоваться групповой политикой «Windows Firewall: Allow Local Port Exceptions». Для получения инструкций см «Как создать исключение в брандмауэре, с помощью групповой политики» (раздел ниже).

 

Как включить слушателей с помощью групповой политики

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED
или
ОШИБКА: В соединении с удаленным хостом было отказано. Убедитесь, что служба WS-Management запущена на удаленном хосте и настроена для прослушивания запросов на правильный порт и HTTP URL.
ERROR: The connection to the remote host was refused. Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL.

Чтобы настроить слушателей на всех компьютерах в домене, надо включить политику «Allow automatic configuration of listeners» находящуюся по следующему пути дерева групповых политик:

Computer Configuration\Administrative Templates\Windows Components\Windows Remote Management (WinRM)\WinRM service

Включите политику и укажите IPv4 и IPv6 фильтры. Можно воспользоваться шаблонами (*).

 

Как включить удаленное взаимодействие в сетях общего пользования

ОШИБКА: Не удалось проверить состояние брандмауэра
ERROR: Unable to check the status of the firewall

Командлет Enable-PSRemoting возвращает эту ошибку, когда локальная сеть является публичной, но параметр SkipNetworkProfileCheck не использовался в команде.

На серверных версиях Windows, командлет Enable-PSRemoting успешно выполняется во всех типах сетевого расположения. Он создает правила брандмауэра, разрешающие удаленный доступ к частной и доменой («Home» и «Work») сети. Для общественных сетей, он создает правила брандмауэра, которые разрешают удаленный доступ из той же локальной подсети.

На клиентских версий Windows, командлет Enable-PSRemoting успешно выполняется в частных и доменных сетях. По умолчанию, он не работает на общественных сетях, но если вы используете параметр SkipNetworkProfileCheck, командлет Enable-PSRemoting успешно создает правила брандмауэра, что разрешает трафик из той же локальной подсети.

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

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Командлет Set-NetFirewallRule содержится в модуле NetSecurity.

ПРИМЕЧАНИЕ: В Windows PowerShell 2.0, на компьютерах под управлением серверных версий Windows, командлет Enable-PSRemoting создает правила брандмауэра, разрешающие удаленный доступ из частных, доменых и общественных сетях. На компьютерах, работающих под управлением клиентских версий Windows, командлет Enable-PSRemoting создаёт правила брандмауэра, разрешающие удаленный доступ только из частных и доменных сетей.

 

Как настроить исключение брандмауэра с помощью групповой политики

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED
или
ОШИБКА: В соединении с удаленным хостом было отказано. Убедитесь, что служба WS-Management запущена на удаленном хосте и настроена для прослушивания запросов на правильный порт и HTTP URL.
ERROR: The connection to the remote host was refused. Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL.

Чтобы настроить исключение брандмауэра для всех компьютеров в домене, надо настроить политику «Windows Firewall: Allow local port exceptions» по следующему пути в дереве групповых политик:

Computer Configuration\Administrative Templates\Network\Network Connections\Windows Firewall\Domain Profile

Эта политика позволяет членам группы Administrators на компьютере, использовать Windows Firewall в панели управления, чтобы создать исключение в брандмауэре, для службы удаленного управления Windows.

 

Как установить тип запуска службы WinRM

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED

Windows PowerShell Remoting зависит от службы удаленного управления Windows (WinRM). Для поддержки удаленных команд служба должна быть запущена .

На серверных версиях Windows, тип запуска службы удаленного управления Windows (WinRM) автоматический.

Тем не менее, на клиентских версиях Windows, служба WinRM по умолчанию отключена.

Чтобы установить тип запуска службы на удаленном компьютере, можно воспользоваться командлетом Set-Service.

Для запуска команды на нескольких компьютерах, можно создать текстовый или CSV файл с именами компьютеров.

Например, следующие команды получают список имен компьютеров из файла Servers.txt, а затем у всех компьютеров устанавливают тип запуска службы WinRM на автоматический.

C:\PS> $servers = Get-Content servers.txt
C:\PS> Set-Service WinRM -ComputerName $servers -startuptype Automatic

Увидеть результаты можно с помощью командлета Get-WmiObject получив данные из объекта Win32_Service. Для получения дополнительной информации см Set-Service.

 

Как настроить конфигурацию сессий по умолчанию

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED

Для подключения к локальному компьютеру и выполнения команд удаленно, локальный компьютер должен содержать конфигурацию сессий для удаленных команд.

По умолчанию, при использовании командлета Enable-PSRemoting, создаётся конфигурация сессий  на локальном компьютере. Удаленные пользователи используют эту конфигурацию сессий каждый раз, когда удалённая команда не использует параметр ConfigurationName.

Если конфигурация по умолчанию на компьютере не зарегистрирована или удалена, можно воспользоваться командлетом Enable-PSRemoting для её восстановления. Вы можете использовать эту команду несколько раз. Это не приведёт к возникновению ошибок, если функция уже настроена.

Если вы изменили конфигураций сессий по умолчанию и хотите восстановить исходные настройки конфигурации сессий по умолчанию. Надо воспользоваться командлетом Unregister-PSSessionConfiguration, для удаления изменённой конфигурации сесий. А затем использвать командлет Enable-PSRemoting, что бы восстановить настройки по умолчанию. командлет Enable-PSRemoting не изменяет существующую конфигурацию сессий.

Примечание: Командлет Enable-PSRemoting восстанавливая конфигурацию сеанса по умолчанию, он не создает явные дескрипторы безопасности для конфигураций. Вместо этого, конфигурация наследуют дескриптор безопасности RootSDDL, который является дескриптором безопасной по умолчанию.

Чтобы увидеть дескриптор безопасности RootSDDL, выполните:

Get-Item wsman:\localhost\Service\RootSDDL

Чтобы изменить RootSDDL, используются командлеты Set-Item на диске WSMan:. Чтобы изменить дескриптор безопасности конфигурации сеанса, используйется командлет Set-PSSessionConfiguration с параметром SecurityDescriptorSDDL или ShowSecurityDescriptorUI.
Для получения более подробной информации о диске WSMan:, можно посмотреть раздел справки для поставщика WS-Management («Get-Help WSMan»).

 

Как обеспечить администратора необходимыми полномочиями

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED

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

Если текущий пользователь является членом группы администраторов на удаленном компьютере, или может предоставить учетные данные члена группы администраторов, для удаленного подключения нужно передать учётные данные администратора с помощью параметра Credential в командлетах New-PSSession, Enter-PSSession или Invoke-Command.

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

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

Для получения более подробной информации о параметре Credential, можно посмотреть справку к командлетам New-PSSession, Enter-PSSession или Invoke-Command.

 

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

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED

Чтобы установить PSSession или выполнить команду на удаленном компьютере, текущий пользователь должен иметь разрешение на использование конфигураций сеансов на удаленном компьютере.

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

Чтобы разрешить другим пользователям подключаться к локальному компьютеру, необходимо выдать пользователю разрешения на выполнение конфигураций сеансов по умолчанию на локальном компьютере.

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

Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

Для получения дополнительной информации см about_Session_Configurations.

 

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

ОШИБКА: доступ запрещен
ERROR: ACCESS IS DENIED

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

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

Внимание: Ключ LocalAccountTokenFilterPolicy отключает контроль учетных записей (UAC) удаленных подключений для всех пользователей со всех компьютеров. Обдумайте последствия изменения этого параметра, прежде чем изменять политику.

Чтобы изменить политику, используйте следующую команду, чтобы установить значение параметра реестра LocalAccountTokenFilterPolicy на 1.

C:\PS> New-ItemProperty -Name LocalAccountTokenFilterPolicy -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -PropertyType DWord -Value 1

 

Как использовать IP адрес при запуске команды удаленно

ОШИБКА: Клиенту WinRM не удается обработать запрос. Если схема аутентификации отличается от Kerberos или, если клиентский компьютер не присоединен к домену, то необходимо использовать протокол HTTPS или на сервере должны быть добавлены установки  конфигурации TrustedHosts.

ERROR: The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting.

Параметр ComputerName командлетов New-PSSession, Enter-PSSession и Invoke-Command могут принимать IP-адрес в качестве значения. Тем не менее, поскольку проверка подлинности Kerberos не поддерживает IP-адреса, когда вы указываете IP адрес, по умолчанию используется аутентификация NTLM.

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

1. Настроить компьютер для протокола HTTPS или добавить IP-адрес удаленного компьютера в список TrustedHosts на локальном компьютере.

Для получения инструкций см «Как добавить компьютер в список TrustedHosts» ниже.

2. Необходимо использовать параметр Credential во всех удаленных командах. Это необходимо, даже если вы указываете параметры аутентификации текущего пользователя.

 

Как создать удалённое подключение к компьютеру находящемуся в рабочей группе

ОШИБКА: Клиенту WinRM не удается обработать запрос. Если схема аутентификации отличается от Kerberos или, если клиентский компьютер не присоединен к домену, то необходимо использовать протокол HTTPS или на сервере должны быть добавлены установки  конфигурации TrustedHosts.

ERROR: The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting.

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

1. Настроить компьютер для протокола HTTPS или добавить имена удаленных компьютеров в список TrustedHosts на локальном компьютере.

Для получения инструкций см «Как добавить компьютер в список TrustedHosts» ниже.

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

Чтобы установить пароль для учетной записи пользователя, используйте «Учетные записи пользователей» в «Панели управления».

3. Используйте параметр Credential во всех удаленных командах.

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

 

Как добавить компьютер в список доверенных хостов

Пункт TrustedHosts может содержать список имён компьютеров, IP-адреса и полные доменные имена разделенные запятыми. Шаблонные символы разрешены.

Чтобы просмотреть или изменить список доверенных узлов, можно воспользоваться диском WSMan:. Объект TrustedHost находится в дирректории WSMan:\localhost\Client.

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

Внимание: Значение, которое устанавливается для элемента TrustedHosts влияет на всех пользователей компьютера.

Для просмотра списка доверенных хостов, можно воспользоваться следующей командой:

Get-Item wsman:\localhost\Client\TrustedHosts

Также можно использовать Set-Location (псевдоним cd), чтобы перейти в данную директорию на диске WSMan:. Например:

cd WSMan:\localhost\Client; dir

Чтобы добавить все компьютеры в список доверенных хостов, используйте следующую команду, которая ставит значение * (все) в ComputerName

Set-Item wsman:localhost\client\trustedhosts -Value *

Можно, также использовать шаблонный символ (*), чтобы добавить все компьютеры в конкретной области в список доверенных хостов. Например, следующая команда добавляет все компьютеры в домене Fabrikam в список доверенных хостов.

Set-Item wsman:localhost\client\trustedhosts *.fabrikam.com

Чтобы добавить имена конкретных компьютеров в список доверенных хостов, используйте следующий формат команды:

Set-Item wsman:\localhost\Client\TrustedHosts -Value < имя_компьютера> [, < имя_компьютера>]

,где каждое значение < имя_компьютера> должно иметь следующий формат:

< Компьютер>.< Домен>.< Компания>.< Домен верхнего уровня>

Например:

Set-Item wsman:\localhost\Client\TrustedHosts -Value Server01.Domain01.Fabrikam.com

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

Например, чтобы добавить компьютер Server01 в в существующий список доверенных хостов, используйте следующую команду

$curValue = (Get-Item wsman:\localhost\Client\TrustedHosts).value

Set-Item wsman:\localhost\Client\TrustedHosts -Value "$curValue, Server01.Domain01.Fabrikam.com"

Чтобы добавить IP-адреса компьютеров в список доверенных хостов, используется следующий формат команды:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <IP Address>

Например:

Set-Item wsman:\localhost\Client\TrustedHosts -Value 172.16.0.0

Чтобы добавить компьютер в список TrustedHosts удаленного компьютера, можно воспользоваться командлетом Connect-WSMan. Командлет  Connect-WSMan используется для добавления узла на диске WSMan: удаленного компьютера с локального компьютера. Затем используйте команду Set-Item, чтобы добавить компьютер.

Для получения более подробной информации о командлете Connect-WSMan командлета см справку Connect-WSMan.

 

Устранение неполадок конфигурации компьютера

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

 

Как настроить удаленное взаимодействие на переменных портах

ОШИБКА: В соединении с удаленным хостом было отказано. Убедитесь, что служба WS-Management запущена на удаленном хосте и настроена для прослушивания запросов на правильный порт и HTTP URL.
ERROR: The connection to the remote host was refused. Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL.

По умолчанию Windows PowerShell Remoting использует 80 порт для HTTP протокола. Порт по умолчанию используется, когда пользователь не указал параметры ConnectionURI или порт в удаленной команды.

Чтобы изменить порт по умолчанию, который использует Windows PowerShell, используйте командлет Set-Item на диске WSMan:, чтобы изменить значение порта для прослушки.

Например, следующая команда изменяет порт по умолчанию на 8080.

Set-Item wsman:\localhost\listener\listener*\port -Value 8080

 

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

ОШИБКА: клиент не может подключиться к месту назначения, указанного в запросе. Убедитесь, что служба в месте назначения работает и принимает запросы.

ERROR: The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests.

Поскольку Windows PowerShell Remoting использует протокол HTTP, то он зависит от установок прокси на HTTP. На предприятиях, которые имеют прокси-серверы, пользователи не могут получить доступ к удаленному компьютеру Windows PowerShell напрямую.

Чтобы решить эту проблему, передайте настройки прокси-сервера при запуске удаленных команд.
Доступны следующие параметры:

— ProxyAccessType
— ProxyAuthentication
— ProxyCredential

Чтобы задать эти параметры для определенной команды, используйте следующую процедуру:

1. Используйте параметры ProxyAccessType, ProxyAuthentication и ProxyCredential с командлетом New-PSSessionOption, для создания объекта параметров сеанса с настройкми прокси-сервера  вашей сети. Сохраните объект в переменной.

2. Передайте переменную, которая содержит объект с парматрами вашего прокси сервера в  параметр SessionOption командлетов New-PSSession, Enter-PSSession, или Invoke-Command

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

C:\PS> $SessionOption = New-PSSessionOption -ProxyAccessType IEConfig -ProxyAuthentication Negotiate -ProxyCredential Domain01\User01
C:\PS> New-PSSession -ConnectionURI https://www.fabrikam.com

Для получения более подробной информации о командлете New-PSSessionOption см справку по New-PSSessionOption.

Чтобы задать эти параметры для всех удаленных команд в текущем сеансе, присвойте значение объекта  полученного из командлета New-PSSessionOption переменной $PSSessionOption. Для получения более подробной информации о привилегированной переменной $PSSessionOption см about_Preference_Variables.

Чтобы задать эти параметры для всех удаленных команд всех сессий Windows PowerShell на локальном компьютере, надо добавить привилегированную переменную $PSSessionOption в свой профиль Windows PowerShell. Для получения более подробной информации о профилях Windows PowerShell см about_Profiles.

 

Как обнаружить 32-битную сессию на 64-разрядном компьютере

ОШИБКА: Элемент «<tool-Name>» не распознается, как имя командлета, функции, файла скрипта или выполняемой программы. Проверьте правильность написания имени, или если был указан путь, убедитесь, что путь является правильным и попробуйте еще раз.

ERROR: The term «<tool-Name>» is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Если удаленный компьютер работает под управлением 64-разрядной версии Windows, а дистанционная команда использует 32-битную конфигурацию сеанса, такую как Microsoft.PowerShell32. Служба удаленного управление Windows (WinRM) загружает процесс WOW64 на Windows, а Windows автоматически перенаправляет все ссылки из каталога %WinDir%\System32, в каталог %WINDIR%\SysWOW64.

В результате, если вы пытаетесь использовать инструменты из каталога System32, которые не имеют аналогов в каталоге SysWow64, таких как Defrag.exe, инструменты не могут найтись в данном каталоге.

Чтобы найти архитектуру процессора, который используется в сессии, можно воспользоваться значением переменной PROCESSOR_ARCHITECTURE окружающей среды. Следующая команда находит архитектуру процессора сессии из переменной $s.

C:\PS> $s = New-PSSession -ComputerName Server01 -configurationName CustomShell

C:\PS> invoke-command -session $s {$env:PROCESSOR_ARCHITECTURE}
x86

Для получения более подробной информации о конфигурациях сеансов см about_session_configurations.

 

Поиск и устранение неисправностей политик и вопросы привилегий

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

 

Как изменить политику выполнения для командлетов Import-PSsession и Import-Module

ОШИБКА: Import-Module: Файл <имя файла> не может быть загружен, потому что выполнение скриптов отключено в этой системе.

ERROR: Import-Module: File <filename> cannot be loaded because the execution of scripts is disabled on this system.

Командлеты Import-PSSession и Export-PSSession создают модули, которые содержат не подписанные файлы скриптов и файлы форматирования.

Чтобы импортировать модули созданные этими командлетами, с помощью командлетов Import-PSSession или Import-Module, измените значение политики выполнения в текущем сеансе на Restricted или AllSigned. Дополнительные сведения о политиках выполнения Windows PowerShell можно посмотреть в about_Execution_Policies.

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

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

Set-ExecutionPolicy -Scope process -ExecutionPolicy RemoteSigned

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

PowerShell.exe -ExecutionPolicy RemoteSigned

Для получения более подробной информации о командлетах см Import-PSSession, Export-PSSession и Import-Module. Для получения более подробной информации о политике выполнения, см about_Execution_Policies. Для получения более подробной информации о powershell.exe, выполните в консоли «PowerShell.exe -?».

 

Как устанавливать и изменять квоты

ОШИБКА: Общее кол-во данных, полученных от удаленного клиента превысили разрешенный максимум.

ERROR: The total data received from the remote client exceeded allowed maximum.

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

Следующие квоты доступны в базовой конфигурации.

— Поставщик WSMan (WSMan:) предоставляет несколько параметров квот, таких, как  настройки MaxEnvelopeSizeKB и MaxProviderRequests  в  узле WSMan:\<ComputerName> и настройки MaxConcurrentOperations, MaxConcurrentOperationsPerUser и MaxConnections  в узле WSMan:\<ComputerName>\Service,

— Вы можете защитить локальный компьютер с помощью параметров MaximumReceivedDataSizePerCommand и MaximumReceivedObjectSize командлета New-PSSessionOption и привилегированной переменной $PSSessionOption.

— Вы можете защитить удаленный компьютер, добавив ограничения на конфигурацию сеанса, используя параметры MaximumReceivedDataSizePerCommandMB и MaximumReceivedObjectSizeMB командлета Register-PSSessionConfiguration.

Когда квоты конфликтуют с командой, Windows PowerShell создаёт ошибку.

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

Например, следующая команда увеличивает квоту на размер объектов в конфигурации сеанса Microsoft.PowerShell на удаленном компьютере с 10 МБ (значение по умолчанию) до 11 МБ.

Set-PSSessionConfiguration -Name microsoft.PowerShell -MaximumReceivedObjectSizeMB 11 -Force

Для получения более подробной информации о командлете New-PSSessionOption см New-PSSessionOption.

Для получения более подробной информации о квотах WS-Management, можно посмотреть раздел справки для WS-Management провайдера («Get-Help WS-Management»).

 

Как решить ошибки тайм-аута

ОШИБКА: Служба WS-Management не может завершить операцию в течение времени, указанного в OperationTimeout.

ERROR: The WS-Management service cannot complete the operation within the time specified in OperationTimeout.

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

Следующие тайм-ауты доступны в базовой конфигурации.

— Провайдер WSMan (WSMan:) предоставляет на стороны клиента и сервера несколько  параметров тайм-аута, такие как настройка MaxTimeoutms в узле WSMan:\<ComputerName> и настройки EnumerationTimeoutms и MaxPacketRetrievalTimeSeconds в узле WSMan:\<ComputerName>\Service.

-Можно защитить локальный компьютер с помощью параметров CancelTimeout, IdleTimeout, OpenTimeout и OperationTimeout командлета New-PSSessionOption и привилегированной переменной $PSSessionOption.

— Также можно защитить удаленный компьютер, установив значения тайм-аутов для сессии программно в конфигурации сессии.

Когда значение тайм-аута не разрешает завершить операцию, Windows PowerShell прерывает операцию и генерирует сообщение об ошибке.

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

Например, следующие команды используют командлет New-PSSessionOption для создания объекта параметра сеанса со значением OperationTimeout в 4 минуты (240000 MS), а затем используют объект параметра сеанса, чтобы создать удаленный сеанс.

C:\PS> $pso = New-PSSessionoption -OperationTimeout 240000
C:\PS> New-PSSession -ComputerName Server01 -sessionOption $pso

Для получения более подробной информации о тайм-аутах WS-Management, можно посмотреть раздел справки для поставщика WS-Management (например «Get-Help WSMan»).

Для получения более подробной информации о командлете New-PSSessionOption см New-PSSessionOption.

 

Поведение при зависания, поиск и исправление неисправностей

В этом разделе обсуждаются проблемы удаленного взаимодействия, которые мешают командам выполнятся или не допускают или задерживают вывод строк в Windows PowerShell.

 

Как прервать команду

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

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

Для завершения работы зависшей программы, нажмите CTRL + C. Для просмотра ошибок, которые возможно выводились, введите «$error» в локальном хосте и удаленном сеансе.

 

Как восстановиться после сбоя операции

ОШИБКА: Операция ввода/вывода была прервана из-за разрыва соединения или по запросу от приложения.

ERROR: The I/O operation has been aborted because of either a thread exit or an application request.

Эта ошибка возвращается, когда операция прерывается, до ее завершения. Как правило, это происходит, когда служба WinRM останавливается или перезапускается, а другие операции WinRM остаются в работе.

Чтобы решить эту проблему, убедитесь, что служба WinRM запущена и повторите команду.

1. Запустите Windows PowerShell с параметром «Запуск от имени администратора».
2. Выполните следующую команду:

Start-Service WinRM

3. Повторно запустите команду, которая генерировала ошибку.

СМОТРИТЕ ТАКЖЕ
about_Remote
about_Remote_Requirements
about_Remote_Variables

]]>
https://coolcode.ru/powershell-reshenie-problem-svyazyinnyih-s-udalyonnyim-podklyucheniem-about_remote_troubleshooting/feed/ 0
PowerShell. О требованиях к инраструктуре для работы дистанционного подключения. (about_Remote_Requirements) https://coolcode.ru/powershell-o-trebovaniyah-k-inrastrukture-dlya-rabotyi-distantsionnogo-podklyucheniya-about_remote_requirements/ https://coolcode.ru/powershell-o-trebovaniyah-k-inrastrukture-dlya-rabotyi-distantsionnogo-podklyucheniya-about_remote_requirements/#respond Wed, 09 Dec 2015 10:35:49 +0000 http://coolcode.ru/?p=5303

В этом разделе описываются требования к инфраструктуре, учётным записям и ресурсам для создания удаленных соединений и выполнения удаленных команд в Windows PowerShell. В данном разделе также содержится инструкция по настройки инфраструктуры для работы удаленных операций.

Примечание: Многие командлеты (в том числе командлеты Get-Service, Get-Process, Get-WMIObject, Get-EventLog, и Get-WinEvent) могут получать объекты с удаленных компьютеров с помощью методов для извлечения объектов Microsoft .NET Framework. Они не используют инфраструктуру удаленного взаимодействия Windows PowerShell. Требования в этом документе не распространяются на эти команды.

Чтобы найти командлеты, которые имеют параметр ComputerName, и не используют Windows PowerShell Remoting, можно воспользоваться командлетом Get-Command.

Get-Command -ParameterName ComputerName

Системные требования

Для запуска удаленных сеансов с поддержкой возможностей Windows PowerShell 3.0, локальные и удаленные компьютеры должны иметь следующее компоненты:
— Windows PowerShell 3.0 или более позднюю версию
— Платформу Microsoft .NET Framework 4.0 или более позднюю версию
— Windows Remote Management 3.0

Для запуска удаленных сеансов с возможностями Windows PowerShell 2.0, локальные и удаленные компьютеры должны иметь следующее компоненты:
— Windows PowerShell 2.0 или более позднюю версию
— Платформа Microsoft .NET Framework 2.0 или более позднюю версию
— Windows Remote Management 2.0

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

Чтобы посмотреть номер версии Windows PowerShell установленной на текущем компьютере, можно воспользоваться автоматической переменной $PSVersionTable.

Windows Remote Management (WinRM) 3.0 и Microsoft .NET Framework 4.0 включены в Windows 8, Windows Server 2012, и новые выпуски операционных системы Windows. В более поздних операционных системах надо установить WinRM 3.0 он входит в Management Framework 3.0 для Windows. Если компьютер не имеет требуемой версии WinRM или Microsoft .NET Framework, произойдёт сбой установки.

 

Права пользователя

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

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

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

Если текущий пользователь не имеет разрешения на использование конфигурации сеанса, то команда запускающая команды (используется временная сессия) или создание постоянного сеанса на удаленном компьютере не удастся. Пользователь может использовать параметр командлетов ConfigurationName, которые создают сеансы с помощью другой конфигурации сеанса, если таковые имеются.

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

Для получения дополнительной информации о конфигурациях сеансов см about_Session_Configurations.

 

Сетевое окружение Windows

Начиная с Windows PowerShell 3.0, командлетом Enable-PSRemoting можно включить удаленное взаимодействие на клиентских и серверных операционных систем, в домене и общественных сетях.

На серверных версиях Windows в частных и доменных сетях, командлет Enable-PSRemoting создает правила брандмауэра, которые позволяют отключить ограничения удаленного доступа. Он также создает правило брандмауэра для общественных сетей, что разрешает удаленный доступ только с компьютеров в локальной подсети. Правило брандмауэра о локальных подсетях по умолчанию включена на серверных версиях операционных систем в сетях общего пользования, но Enable-PSRemoting повторно применяет правило, в случае если оно было изменено или удалено.

На клиентских версиях Windows в частных и доменных сетях, по умолчанию командлет Enable-PSRemoting создает правило брандмауэра, которое позволяет неограниченный удаленный доступ.

Чтобы включить удаленное взаимодействие на клиентских версиях Windows с сетями общего пользования, используется параметр SkipNetworkProfileCheck командлета Enable-PSRemoting. Это создаст правило брандмауэра, которое разрешает удаленный доступ только с компьютеров в локальной подсети.

Чтобы убрать ограничение только локальной подсетью и разрешить удаленный доступ из всех мест, в клиентских и серверных версиях Windows, используется командлет Set-NetFirewallRule из модуля NetSecurity. Надо выполнить следующую команду:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

В Windows PowerShell 2.0, на серверных версиях Windows, Enable-PSRemoting создает правила брандмауэра, которое разрешает удаленный доступ на все сети.

В Windows PowerShell 2.0, на клиентских версиях Windows, Enable-PSRemoting создает правила брандмауэра только для частных и доменных сетей. Если сетевое расположение является публичным, Enable-PSRemoting не выполнится.

 

Запуск от имени администратора

Права администратора требуются для выполнения следующих операций удаленного взаимодействия:
— Установление удаленного подключения к локальному компьютеру. Такое подключение называется «loopback» или «local» сессия.
— Настройка конфигурации сессии на локальном компьютере.
— Просмотр и изменение настроек WS-Management на локальном компьютере. Эти настройки находятся в узле LocalHost на диске WSMAN:.

Для выполнения этих задач, пользователь должен запустить Windows PowerShell с параметром «Запуск от имени администратора», даже если он является членом группы администраторов на локальном компьютере.

В Windows 7 и Windows Server 2008 R2, чтобы запустить Windows PowerShell с параметром «Запуск от имени администратора»:
1. Нажмите кнопку Пуск, выберите «Все программы», войдите в «Стандартные», а затем нажмите на папку «Windows PowerShell».
2. Щелкните правой кнопкой мыши на ярлык «Windows PowerShell», а затем нажмите кнопку «Запуск от имени администратора».

В ранних версиях Windows, чтобы запустить Windows PowerShell с параметром «Запуск от имени администратора»:
1. Нажмите кнопку «Пуск», выберите «Все программы», а затем зайдите папку «Windows PowerShell».
2. Щелкните правой кнопкой мыши на ярлык «Windows PowerShell», а затем нажмите кнопку «Запуск от имени администратора».

В проводнике Windows опция «Запуск от имени администратора», также доступна в других видах запуска Windows PowerShell, в том числе на ярлыках. Просто нажмите правой кнопкой мыши элемент, а затем нажмите кнопку «Запуск от имени администратора».

Когда вы запускете Windows PowerShell из другой программы, такой как Cmd.exe, используйте опцию «Run as administrator» при запуске программы.

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

Компьютеры под управлением всех поддерживаемых версий Windows, могут устанавливать удаленные подключения и выполнять удаленные команды в Windows PowerShell без предварительной конфигурации. Тем не менее, для получения соединения, и разрешения пользователям создавать локальные или удаленные сессии управления с помощь Windows PowerShell («сессии PSSession») и выполнять команды на локальном компьютере, необходимо включить удаленное взаимодействие Windows PowerShell на компьютере.

В Windows Server 2012 и более новых выпусках Windows Server удалённое взаимодействие включено в Windows PowerShell по умолчанию. Если настройки были изменены, можно восстановить настройки по умолчанию, выполнив командлет Enable-PSRemoting.

На всех других поддерживаемых версиях Windows, необходимо запустить командлет Enable-PSRemoting, чтобы включить удаленное взаимодействие Windows PowerShell.

Удаленное взаимодействия Windows PowerShell поддерживаются службой WinRM, которая является реализацией Microsoft протокола управления веб-службами(WS-Management). При включении удаленного взаимодействия Windows PowerShell, изменяется конфигурация по умолчанию WS-Management и добавляется конфигурация системы, которая позволит пользователям подключаться к WS-Management.

Чтобы настроить Windows PowerShell для получения удаленных команд:
1. Запустите Windows PowerShell с параметром «Запуск от имени администратора».
2. В командной строке введите:

Enable-PSRemoting

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

New-PSSession

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

C:\PS> new-pssession

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Если команда не сработала, рекомендуется прочитать, about_Remote_Troubleshooting.

Определение политики

Когда вы работаете удаленно, используется два экземпляра Windows PowerShell, один на локальном компьютере и один на удаленном компьютере. В результате, ваша работа зависит от политики Windows и политики Windows PowerShell, на локальных и удаленных компьютерах.

Перед тем как установить соединение действует политика локального компьютера. Когда произошло соединение действует политика на удалённом компьютере.

]]>
https://coolcode.ru/powershell-o-trebovaniyah-k-inrastrukture-dlya-rabotyi-distantsionnogo-podklyucheniya-about_remote_requirements/feed/ 0
PowerShell. Об отложенных сессиях (about_Remote_Disconnected_Session) https://coolcode.ru/powershell-o-otlozhennyih-sessiyah-about_remote_disconnected_session/ https://coolcode.ru/powershell-o-otlozhennyih-sessiyah-about_remote_disconnected_session/#comments Tue, 08 Dec 2015 08:26:34 +0000 http://coolcode.ru/?p=5300

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

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

Функции отложенных сессий позволяют закрыть сеанс, в котором была создана PSSession, или закрыть консоль Windows PowerShell, или даже выключить компьютер, не нарушив работу команд запущенных в PSSession. Это особенно полезно для выполнения команд выполнение которых занимает продолжительное время. Это увеличивает запас времени на выполнение команд и предоставляет гибкий механизм для нужд ИТ-специалистов.

ПРИМЕЧАНИЕ: Нельзя отключаться от интерактивной сессии, которая началась с помощью командлета Enter-PSSession.

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

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

 

Командлеты отложенных сессий

Следующие командлеты поддерживают функции отложенных сессий:
Disconnect-PSSession: Отключает от PSSession.
Connect-PSSession: Подключается к отложенной PSSession.
Receive-PSSession: Возвращает результаты команд, которые выполнялись во время отключения от сесси.
Get-PSSession: Возвращает PSSession, на локальном компьютере или на удаленных компьютерах.
Invoke-Command: С использованием параметр InDisconnectedSession этот командлет создает PSSession и сразу отключается от неё.

 

Как работает функция отложенных сессий

Начиная с Windows PowerShell 3.0 сессии PSSession не зависят от сеансов в которых они создаются. Активная PSSession поддерживается на удаленном компьютере или на стороне сервера, даже если сеанс в котором была создана PSSession закрыт, и даже если компьютер был выключен или отключен от сети.

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

При отключении от PSSession, PSSession остается активной и поддерживается на удаленном компьютере. Сессия изменяет состояние из Running в Disconnected. К сессии в состоянии Disconnect можно подключиться из текущего сеанса или с другого сеанса на том же компьютере, или с другого компьютера. Удаленный компьютер, который будет поддерживать сессию должен быть запущен и подключен к сети.

Команды в отключенной PSSession продолжают работать на удаленном компьютере, пока команды не завершатся или пока буфер вывода не переполнится. Чтобы предотвратить приостановку выполнения команд при заполнении буфера вывода необходимо использовать параметр OutputBufferingMode в командлетах Disconnect-PSSession, New-PSSessionOption, или New-PSTransportOption.

Отложенные сессии поддерживаются в отключенном состоянии на удаленном компьютере. Они доступны для восстановления, пока не удалить PSSession, например, с помощью командлета Remove-PSSession, или пока в PSSession не истечёт время ожидания после  отключения. Можно настроить время ожидания в PSSession с помощью параметров IdleTimeoutSec или IdleTimeout в командлетах Disconnect-PSSession, New-PSSessionOption, или New-PSTransportOption.

Пользователь может подключиться к сессии PSSession которую он не создавал, но только если он сможет предоставить учетные данные, которые были использованы для создания сессии, или использовать RunAs с соответствующими полномочиями при создании сеанса.

 

Как получить объект PSSession.

Начиная с Windows PowerShell 3.0, Get-PSSession командлет может получить объекты PSSession, как с локального компьютера так, и с удаленных компьютеров. Командлет может получить объекты сессий PSSession, созданных в текущем сеансе.

Чтобы получить объекты сессий PSSession на локальном компьютере или удаленных компьютерах, используйте параметры ComputerName или ConnectionURI. Без параметров Get-PSSession получает объекты PSSession, созданные в локальном сеансе независимо от того, к какому серверу они подсоединены.

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

Например, если создать PSSession с компьютером Server01, получится сеанс который будет работать на компьютере Server01. Если вы создаете PSSession с другого компьютера на локальный компьютер, получите сессию работающую на локальном компьютере.

Следующая последовательность команд показывает, как работает командлет Get-PSSession.

Первая команда создает сессию с компьютером Server01. Сессия находится на компьютере Server01.

PS C:\ps-test> New-PSSession -ComputerName Server01

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 2 Session2        Server01        Opened        Microsoft.PowerShell     Available

Чтобы получить сессию, надо использовать параметр ComputerName в командлете Get-PSSession со значением Server01.

PS C:\ps-test> Get-PSSession -ComputerName Server01

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 2 Session2        Server01        Opened        Microsoft.PowerShell     Available

Если значение параметра ComputerName в Get-PSSession указывает на локальный компьютер, Get-PSSession получает объекты PSSession которые работают и поддерживаются на локальном компьютере. И не получит сессии PSSession с компьютером Server01, даже если они были запущенны с локального компьютера.

PS C:\ps-test> Get-PSSession -ComputerName localhost
PS C:\ps-test>

Чтобы получить сессии, которые были созданы в текущем сеансе, надо использовать командлет Get-PSSession без параметров. Эта команда получит сессии PSSession, которые был создан в текущем сеансе, в том числе и подключенную к компьютеру Server01.

PS C:\ps-test> Get-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 2 Session2        Server01        Opened        Microsoft.PowerShell     Available

 

Как отключиться от сессии

Чтобы отключиться от PSSession надо воспользоваться командлетом Disconnect-PSSession. Чтобы указать конкретную PSSession используется параметр Session или можно передать объекты PSSession по конвейеру из командлетов New-PSSession, Get-PSSession, или Disconnect-PSSession.

Следующая команда отключает PSSession с компьютером Server01. Обратите внимание, что свойство State имеет свойство Disconnected, а свойство Availability имеет статус None.

PS C:\> Get-PSSession -ComputerName Server01 | Disconnect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 2 Session2        Server01        Disconnected  Microsoft.PowerShell          None

Для создания сессии в состоянии Disconnected, можно воспользоваться параметром InDisconnectedSession в командлете Invoke-Command. Командлет при этом создаст сеанс, начнёт выполнять команду, и сразу отключиться, до того, как команда вернёт какой либо ответ.

Следующая команда выполняет команду Get-WinEvent в сессии с состоянием Disconnected на удаленном компьютере Server02.

PS C:\> Invoke-Command -ComputerName Server02 -InDisconnectedSession `
        -ScriptBlock {Get-WinEvent -LogName "Windows PowerShell"}

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 4 Session3        Server02        Disconnected  Microsoft.PowerShell          None

 

Как подключиться к отложенной сессии

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

Можно создать PSSession, выполнить команды в PSSession, отключиться от PSSession, закрыть Windows PowerShell, и выключить компьютер. Через несколько часов, можно войти в другой компьютер, получить PSSession, подключиться к ней, и получить результаты команд, которые выводились в PSSession в то время как она находилась в состоянии Disconnected. Затем можно запустить несколько команд в этой же сессии.

Для подключения к PSSession в состоянии Disconnected используется командлет Connect-PSSession. Для указания PSSession можно воспользоваться параметрами ComputerName или ConnectionURI, или передать объекты PSSession по конвейеру из командлета Get-PSSession.

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

PS C:\> Get-PSSession -ComputerName Server02

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 2 Session2        juneb-srv8320   Disconnected  Microsoft.PowerShell          None
 4 Session3        juneb-srv8320   Disconnected  Microsoft.PowerShell          None

Следующая команда подключается к Session2. PSSession теперь открыта и доступна.

PS C:> Connect-PSSession -ComputerName Server02 -Name Session2


Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 2 Session2        juneb-srv8320   Opened        Microsoft.PowerShell     Available

 

Как получить результаты

Чтобы получить результаты команд, которые выводились во время того, как PSSession находилась в состоянии Disconnected, необходимо воспользоваться командлетом Receive-PSSession.

Можно использовать Receive-PSSession в дополнение или вместо командлета Connect-PSSession. Если сессия уже переподсоединилась и находиться в состоянии Opened, Receive-PSSession получает результаты команд, которые выводились, когда сеанс был в состоянии Disconnected. Если PSSession по-прежнему находится в состоянии Disconnected, Receive-PSSession подключается к нему, и получает результаты команд, которые выводились во время дисконнекта.

Receive-PSSession может возвращать результаты команд в виде объекта задания (асинхронно) или непосредственно с хоста на котором выполняется сессия (синхронно). Используя параметр OutTarget можно выбрать job или host. По умолчанию выбирается значение host. Если команда началась в текущем сеансе в качестве job, оно возвращается как job по умолчанию.

Следующая команда использует командлет Receive-PSSession, для подключения к PSSession на компьютере Server02 и получения результатов командлета Get-WinEvent, который выполняется в сессии Session3. Команда использует параметр OutTarget, чтобы получить результаты в виде job.

PS C:\> Receive-PSSession  -ComputerName Server02 -Name Session3 -OutTarget Job

Id     Name            PSJobTypeName   State         HasMoreData     Location
--     ----            -------------   -----         -----------     --------
3      Job3            RemoteJob       Running       True            Server02

Чтобы получить результаты задания, можно воспользоваться командлетом Receive-Job.

PS C:\ps-test> Get-Job | Receive-Job -Keep


     ProviderName: PowerShell

TimeCreated             Id LevelDisplayName Message     PSComputerName

-----------             -- ---------------- -------     --------------

5/14/2012 7:26:04 PM   400 Information      Engine stat Server02

5/14/2012 7:26:03 PM   600 Information      Provider "W Server02

5/14/2012 7:26:03 PM   600 Information      Provider "C Server02

5/14/2012 7:26:03 PM   600 Information      Provider "V Server02

 

Состояние и доступность

Свойства состояния и доступности в отключенной PSSession показывают доступна ли сессия для подключения к ней.

Когда PSSession подключена к текущему сеансу, её состояние Opened и доступность Available. При отключении от PSSession, состояние PSSession Disconnected, и его доступность имеет значение None.

Тем не менее, значение свойства состояния отображается по отношению к текущему сеансу. Таким образом, значение Disconnected означает, что PSSession не подключена к текущему сеансу. Тем не менее, это не означает, что PSSession отсоединена от всех сеансов, она может быть подключена к другому сеансу.

Чтобы определить, можно ли подключиться к PSSession, используется свойство доступности (Availability). Состояние свойства Availability — None означает, что вы можете подключиться к сессии. Значение Busy означает, что вы не можете подключиться к PSSession, потому что она связана с другим сеансом.

В следующем примере запущено две сессии (в разных консолях Windows PowerShell) на одном компьютере. Значение Статуса и доступности в каждом сеансе изменяют значения в зависимости от того подключена сессия или нет.

#Session 1:
PS C:\> New-PSSession -ComputerName Server30 -Name Test

Id Name       ComputerName    State         ConfigurationName     Availability
-- ----       ------------    -----         -----------------     ------------
1  Test       Server30        Opened        Microsoft.PowerShell     Available

#Session 2:
PS C:\> Get-PSSession -ComputerName Server30 -Name Test

Id Name       ComputerName    State         ConfigurationName     Availability
-- ----       ------------    -----         -----------------     ------------
1 Test        Server30        Disconnected  Microsoft.PowerShell          Busy



#Session 1
PS C:\> Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession

Id Name       ComputerName    State         ConfigurationName     Availability
-- ----       ------------    -----         -----------------     ------------
 1 Test       Server30        Disconnected  Microsoft.PowerShell          None

#Session 2
PS C:\> Get-PSSession -ComputerName Server30

Id Name       ComputerName    State         ConfigurationName     Availability
-- ----       ------------    -----         -----------------     ------------
 1 Test       Server30        Disconnected  Microsoft.PowerShell          None



#Session 2
PS C:\> Connect-PSSession -ComputerName Server01 -Name Test

Id Name       ComputerName    State         ConfigurationName     Availability
-- ----       ------------    -----         -----------------     ------------
3 Test        Server30        Opened        Microsoft.PowerShell     Available

#Session 1
PS C:\> Get-PSSession -ComputerName Server30

Id Name       ComputerName    State         ConfigurationName     Availability
-- ----       ------------    -----         -----------------     ------------
 1 Test       Server30        Disconnected  Microsoft.PowerShell          Busy

 

Время простоя

Отложенные сессии поддерживаются на удаленном компьютере, пока вы их не удалите, например, с помощью командлета Remove-PSSession, или после истечения времени простоя. Свойство IdleTimeout в PSSession определяет, как долго отложенная сессия будет простаивать, прежде чем она будет удалена.

Сессии PSSession простаивают, когда «heartbeat thread» не получает никакого ответа. При отключении от сессии создаётся простой и начинает отсчитываться время, даже если команды по-прежнему работают в отложенной сессии. Windows PowerShell считает отложенные сессии активными, но в состоянии простоя.

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

Свойство конфигурации сессий IdleTimeoutMs определяет время простоя по умолчанию, которое используются при конфигурации сессий. Можно переопределить значение по умолчанию, но значение, которое задаётся не может превышать значение свойства MaxIdleTimeoutMs конфигурации сеанса.

Чтобы узнать значение свойств конфигурации сеанса IdleTimeoutMs и MaxIdleTimeoutMs, используется следующий формат команд.

Get-PSSessionConfiguration | Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs

Значение по умолчанию в конфигурации сеанса можно переопределить и установить тайм-аут простоя из PSSession при создании PSSession и когда вы отключаетесь.

Если вы являетесь членом группы администраторов на удаленном компьютере, вы также можете создавать и менять значение свойства конфигурации сессии IdleTimeoutMs и MaxIdleTimeoutMs.

ЗАМЕТКИ:

Значение времени простоя конфигураций сеансов и опций сеансов в миллисекундах. Значение времени простоя сессий и параметры конфигурации сессий в секундах.

Можно установить время простоя из PSSession при создании PSSession (New-PSSession, Invoke-Command), и когда происходит отключение от сессии(Disconnect-PSSession). Тем не менее, нельзя изменить значение IdleTimeout при подключении к PSSession (Connect-PSSession) или при получении результатов из сессии (Receive-PSSession).

Командлеты Connect-PSSession и Receive-PSSession имеют параметр SessionOption, который принимает объекты SessionOption. Их возвращает командлет New-PSSessionOption. Тем не менее, значение IdleTimeout в объекте SessionOption и значение IdleTimeout в переменных $PSSessionOption не изменяют значение свойства IdleTimeout в PSSession при выполнении команд Connect-PSSession или Receive-PSSession.

Чтобы создать сеанс PSSession с определенным значением времени простоя, надо изменить привилегированную переменную $PSSessionOption, и установить значение свойства IdleTimeout до нужного значения (в миллисекундах).

При создании сеанса PSSession, значения в привилегированной переменной $PSSessionOption имеют приоритет над значениями в конфигурации сеанса.

Например, эта команда устанавливает время простоя 48 часов.

PS C:\> $PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

Чтобы создать сеанс PSSession с определенным значением времени простоя, используется параметр IdleTimeoutMSec командлета New-PSSessionOption. Затем значение переменной передаётся в параметр SessionOption, в командлет New-PSSession или Invoke-Command.

Значения устанавливающиеся при создании сеанса имеют приоритет над значениями, заданными в привилегированной переменной $PSSessionOption и конфигурации сеанса.
Например:

PS C:\> $o = New-PSSessionOption -IdleTimeoutMSec 172800000
PS C:\> New-PSSession -SessionOption $o

Чтобы изменить время простоя из PSSession при отключении, используется параметр IdleTimeoutSec в командлете Disconnect-PSSession.

Например:

PS C:\> Disconnect-PSSession -IdleTimeoutSec 172800

Чтобы создать конфигурацию сеанса с заданным или максимальным временем простоя, используются параметры IdleTimeoutSec или MaxIdleTimeoutSec командлета New-PSTransportOption. Затем надо воспользоваться параметром передачи значении TransportOption командлета Register-PSSessionConfiguration.

Например:

PS C:\> $o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
PS C:\> Register-PSSessionConfiguration -Name Test -TransportOption $o

Чтобы изменить время простоя по умолчанию или максимальное время простоя в конфигурации сессии, используйется параметры IdleTimeoutSec и MaxIdleTimeoutSec командлета New-PSTransportOption. Затем опция TransportOption командлета Set-PSSessionConfiguration.
Например:

PS C:\> $o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
PS C:\> Set-PSSessionConfiguration -Name Test -TransportOption $o

 

Режим работы буфера вывода

Режим работы буфера вывода в PSSession определяет поведение PSSession при заполнении буфера вывода.

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

Допустимые значения:

Block: При заполнении буфера вывода, выполнение команд приостанавливается до тех пор, пока буфер не освободится.
Drop: Когда буфер вывода полон, выполнение продолжается. При этом старая информация удаляется, а новая записывается.

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

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

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

Чтобы посмотреть значение OutputBufferingMode конфигурации сеанса, используется следующий формат команды.

(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode

или

Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode

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

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

Чтобы создать сессию PSSession с режимом работы буфера вывода в состоянии Drop, можно изменить привилегированную переменную $PSSessionOption, в которой установить свойство OutputBufferingMode в значении Drop.

При создании сессии PSSession, значения в переменной $PSSessionOption имеют приоритет над значениями в конфигурации сеанса.

Например:

PS C:\> $PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

Чтобы создать сессию PSSession в режиме работы буфера вывода в состоянии Drop, можно использовать параметр OutputBufferingMode со значением Drop командлета New-PSSessionOption. Затем передать значения в параметр SessionOption командлетов New-PSSession или Invoke-Command.

Значения установленные при создании сессии имеют приоритет над значениями, заданными в привилегированной переменной $PSSessionOption и конфигурации сеанса.

Например:

PS C:\> $o = New-PSSessionOption -OutputBufferingMode Drop
PS C:\> Connect-PSSession -Cn Server01 -Name Test -SessionOption $o

Чтобы изменить режим работы буфера вывода в PSSession при отключении, можно использовать параметр OutputBufferingMode командлета Disconnect-PSSession.
Например:

PS C:\> Disconnect-PSSession -OutputBufferingMode Drop

Чтобы изменить режим работы буфера вывода в PSSession при повторном подключении, можно использовать параметр OutputBufferingMode командлета New-PSSessionOption для создания параметра сессии со значением Drop. Затем, передать полученные значение в параметр SessionOption командлетов Connect-PSSession или Receive-PSSession.

Например:

PS C:\> $o = New-PSSessionOption -OutputBufferingMode Drop
PS C:\> Connect-PSSession -Cn Server01 -Name Test -SessionOption $o

Чтобы создать конфигурацию сеанса с режимом работы буфера вывода по умолчанию в состоянии Drop, используйте параметр OutputBufferingMode в командлете New-PSTransportOption для создания объекта с опцией транспорта в значении Drop. Затем передайте значение в параметр TransportOption командлета Register-PSSessionConfiguration.

Например:

PS C:\> $o = New-PSTransportOption -OutputBufferingMode Drop
PS C:\> Register-PSSessionConfiguration -Name Test -TransportOption $o

Чтобы изменить режим работы буфера вывода в конфигурации сессии по умолчанию, используется параметр OutputBufferingMode в командлете New-PSTransportOption для создания транспорта со значением Drop. Затем необходимо передать значение в опцию SessionOption в командлете Set-PSSessionConfiguration.

Например:

PS C:\> $o = New-PSTransportOption -OutputBufferingMode Drop
PS C:\> Set-PSSessionConfiguration -Name Test -TransportOption $o

 

Локальные отложенные сессии

«Loopback sessions» или «local sessions» являются сессиями PSSession которые начинаются и заканчиваются на одном и том же компьютере. Как и другие PSSession активированные по сети локальные сессии поддерживают удаленное подключение (с локальным компьютером), так что вы можете отключаться и подключаться к локальной сессий.

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

Тем не менее, если вы используете параметр EnableNetworkAccess в командлетах New-PSSession, Enter-PSSession или Invoke-Command, то локальная сессия создается с интерактивным маркером безопасности. Интерактивный маркер безопасности позволяет использовать команды, которые работают в локальной сессии, и получают данные с других компьютеров.

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

 

Ожидание заданий в отложенных сессиях

Командлет Wait-Job ждёт, пока работа команд не будет завершена, после этого отображает командную строку или выполняется следующая команда. По умолчанию Wait-Job отвечает, если сессия в которой задание выполняется отключена. Чтобы командлет Wait-Job ждал пока сесия не переподключиться (в открытом состоянии), используется параметр Force. Для получения дополнительной информации см Wait-Job.

 

Надёжность сессий и непреднамеренное разъединение

Иногда, сеанс с PSSession может быть непреднамеренно разорван из-за компьютерного сбоя или сбоя в работе сети. Windows PowerShell пытается восстановить сеанс с PSSession, но успешность его попыток зависит от тяжести и продолжительности причины сбоя.

При непреднамеренном отключении сессия PSSession может перейти в состояние Broken или Closed, но она также может быть в состоянии Disconnected. Если значени сессии State в состоянии Disconnected, то для управления сессией можно использовать те же методы, как если бы сессия была отключена намеренно. Например, можно использовать командлет Connect-PSSession чтобы подключиться к сессии и командлет Receive-PSSession, чтобы получить результат команд, которые выводились во время, когда сеанса был отключен.

Если закрыть или выйти из сеанса в котором была создана PSSession, в то время как команды в PSSession работают, Windows PowerShell будет поддерживать PSSession в состоянии Disconnected на удаленном компьютере. Если закрыть или выйти из сеанса в котором была создана PSSession, но ни одна из команд не работала в PSSession, Windows PowerShell не будет пытаться сохранить PSSession.

]]>
https://coolcode.ru/powershell-o-otlozhennyih-sessiyah-about_remote_disconnected_session/feed/ 2