Как можно запросить GAL из powershell по названию должности? - PullRequest
0 голосов
/ 18 мая 2019

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

Я знаю, что эта информация доступна в Глобальной адресной книге, но я не знаю, как указать название должности (и я предполагаю местоположение) и получить реальное имя и контактную информацию человека.

Можно ли использовать powershell для "почти" поиска контакта в GAL с использованием названия должности в качестве входного сигнала и контакта в качестве выходного?

o365 конечно ...

1 Ответ

0 голосов
/ 19 мая 2019

Что касается ...

Возможно ли использовать powershell для "почти" поиска контакта в GAL, используя название должности в качестве входного и контакт в качестве выходного?

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

Подключение к EXO - это ежедневный сценарий использования и полностью задокументировано какКак от Microsoft здесь: Подключиться к Exchange Online PowerShell

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Или просто использовать этот скрипт из MS PowerSHellGallery.com

https://www.powershellgallery.com/packages/Connect-O365/1.5.4/Content/Connect-O365.ps1

Или этот

https://gallery.technet.microsoft.com/office/Connect-to-Office-53f6eb07/file/221497/1/Connect-Office365Services.ps1

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

У вас есть встроенный командлет для поиска пользователей по AD и EXP / EXO:

Get-Command -Name '*adaccount*' | Format-Table -AutoSize

CommandType Name                                            Version Source         
----------- ----                                            ------- ------         
Alias       Set-ADAccountPasswordHash                       3.4     DSInternals    
Cmdlet      Clear-ADAccountExpiration                       1.0.1.0 ActiveDirectory
Cmdlet      Disable-ADAccount                               1.0.1.0 ActiveDirectory
Cmdlet      Enable-ADAccount                                1.0.1.0 ActiveDirectory
Cmdlet      Get-ADAccountAuthorizationGroup                 1.0.1.0 ActiveDirectory
Cmdlet      Get-ADAccountResultantPasswordReplicationPolicy 1.0.1.0 ActiveDirectory
Cmdlet      Search-ADAccount                                1.0.1.0 ActiveDirectory
Cmdlet      Set-ADAccountAuthenticationPolicySilo           1.0.1.0 ActiveDirectory
Cmdlet      Set-ADAccountControl                            1.0.1.0 ActiveDirectory
Cmdlet      Set-ADAccountExpiration                         1.0.1.0 ActiveDirectory
Cmdlet      Set-ADAccountPassword                           1.0.1.0 ActiveDirectory
Cmdlet      Unlock-ADAccount                                1.0.1.0 ActiveDirectory



# get function / cmdlet details
(Get-Command -Name Search-ADAccount).Parameters.Keys
Get-help -Name Search-ADAccount -Full
Get-help -Name Search-ADAccount -Online
Get-help -Name Search-ADAccount -Examples

Search-ADAccount -AccountDisabled | FT Name,ObjectClass -A  
Search-ADAccount -AccountDisabled -UsersOnly | FT Name,ObjectClass -A   
Search-ADAccount -AccountExpired | FT Name,ObjectClass -A   
Search-ADAccount -AccountExpiring -TimeSpan 6.00:00:00 | FT Name,ObjectClass -A 
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | FT Name,ObjectClass -A    
Search-ADAccount -PasswordExpired | FT Name,ObjectClass -A  
Search-ADAccount -PasswordNeverExpires | FT Name,ObjectClass -A 
Search-ADAccount -LockedOut | FT Name,ObjectClass -A    
Search-ADAccount -AccountDisabled -ComputersOnly | FT Name,ObjectClass -A   
Search-ADAccount -AccountExpiring -DateTime "3/18/2009" | FT Name,ObjectClass -A    
Search-AdAccount -AccountDisabled -SearchBase "DC=AppNC" -Server "FABRIKAM-SRV1:60000"  

# Or just use
(Get-Command -Name Get-ADUser).Parameters.Keys
Get-help -Name Get-ADUser -Full
Get-help -Name Get-ADUser -Online
Get-help -Name Get-ADUser -Examples 


# If you are really wanting to do this using EXP/EXO, then it provide a cmdlet to help
Get-ADObject -ldapfilter "(&(objectClass=contact)(objectCategory=person)(!showinAddressBook=*))" -properties *

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

Введение в усовершенствования административного центра Active Directory (уровень 100)

Обучение PowerShell с помощью административного центра Active Directory (средство просмотра истории PowerShell)

Пошаговое руководство: использование средства просмотра истории PowerShell в Windows Server 2012 R2

Использование центра администрирования Active Directory для создания команд PowerShell в Windows Server 2012

...