Teh Hermit

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
полезные_команды_exchange [2025/02/20 14:14] jpполезные_команды_exchange [2025/09/24 11:10] (current) jp
Line 94: Line 94:
  
 ---- ----
-=== Удаленное подключение к сессии PowerShell Exchange === 
  
-Вводим креды: 
  
-<code>$Credentials = Get-Credential -Message "Log in to Exchange On-premise..." -UserName domain\username</code>+---- 
 + 
 +**Перезапуск сервисов** 
 + 
 +Перезапуск сервисов, для которых был задан режим запуска //Auto//:
  
-Создаем сессию: 
 <WRAP prewrap> <WRAP prewrap>
 <code> <code>
-$Session New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchange.contoso.com/PowerShell/ -Authentication Kerberos -Credential $Credentials+$services get-wmiobject win32_service | ? {$_.name -like "MSExchange*" -and $_.StartMode -eq "Auto"};foreach ($service in $services) {Restart-Service $service.name -Force}
 </code> </code>
 </WRAP> </WRAP>
  
-Импортируем сессию: +---- 
- +** Вывести полный перечень ящиков в Excel с русскими именами в UTF8 **
-   Import-PSSession $Session -DisableNameChecking +
- +
-Подключаемся к созданной сессии:+
  
 +<WRAP prewrap>
 <code> <code>
-etsn $Session +Get-Mailbox -ResultSize Unlimited | select name, primarysmtpaddress | Export-Csv c:\users.csv -Encoding UTF8
-</code> +
- +
-Уничтожить созданную сессию: +
- +
-<code> +
-Remove-PSSession -Id 1+
 </code> </code>
 +</WRAP>
  
 ---- ----
  
-**Перезапуск сервисов**+**Вывести перечень ящиков из определенного OU**
  
-Перезапуск сервисов, для которых был задан режим запуска //Auto//:+Выводим в тектовый файл ящики АКТИВНЫХ пользователей, размещённых в определенном OU AD (для его указания используем DN), выбрав в результаты только Alias.
  
 <WRAP prewrap> <WRAP prewrap>
 <code> <code>
-$services get-wmiobject win32_service {$_.name -like "MSExchange*" -and $_.StartMode -eq "Auto"};foreach ($service in $services) {Restart-Service $service.name -Force}+Get-Mailbox -OrganizationalUnit "OU=DOMAIN,DC=domain,DC=domain,DC=ru" where {$_.AccountDisabled -match $false| Select-Object alias >> C:\scripts\users.txt
 </code> </code>
 </WRAP> </WRAP>
  
-----+=== Запросить все ящики, в адресах которых есть определенный домен ===
  
-**Вывести перечень ящиков из определенного OU**+<WRAP prewrap> 
 +<code> 
 +Get-Mailbox -ResultSize Unlimited | Where-Object {($_.EmailAddresses -match "@domain1\.ru$")} | Select-Object Name, PrimarySmtpAddress, EmailAddresses 
 +</code> 
 +</WRAP>
  
-Выводим в тектовый файл ящики АКТИВНЫХ пользователей, размещённых в определенном OU AD (для его указания используем DN), выбрав в результаты только Alias.+Ещё один вариант:
  
 <WRAP prewrap> <WRAP prewrap>
 <code> <code>
-Get-Mailbox -OrganizationalUnit "OU=DOMAIN,DC=domain,DC=domain,DC=ru| where {$_.AccountDisabled -match $false} | Select-Object alias >> C:\scripts\users.txt+Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*@domain.ru"} | Select-Object DisplayName,PrimarySmtpAddress@{Name="EmailAddresses";Expression={($_.EmailAddresses | Where-Object {$_ -clike "smtp*"} | ForEach-Object {$_ -replace "smtp:",""}) -join ","}} | Sort-Object DisplayName
 </code> </code>
 </WRAP> </WRAP>
полезные_команды_exchange.1740060844.txt.gz · Last modified: by jp