Forum

Powershell script &...
 
Bildirimler
Hepsini Temizle

Powershell script özel uzmanlık gerektiren soru..

6 Yazılar
3 Üyeler
0 Reactions
834 Görüntüleme
(@sefayolcu)
Gönderiler: 35
Trusted Member
Konu başlatıcı
 

Powershell komutu ile tüm distribution gruplarda ekli olan tüm contact mail hesaplarını sorgulayabilecegimiz bir scripti nasıl yazabiliriz?

datay: 1000 tane dis grup, 1000 tane contact hesap var. bunlar rastgele dis.gruplara ekli durumda. hangi dis.grup içerisinde hangi contact hesap var. bunu sorgulayabilecegimiz bir scripte ihtiyacım var.

Örn: x domaini içinde bulunan bilgi işlem grubunda 2 tane mail contact var mail adresleri de [email protected], [email protected] gibi..

 

 
Gönderildi : 30/06/2018 18:26

(@FerhatIndi)
Gönderiler: 467
Honorable Member
 

https://gallery.technet.microsoft.com/scriptcenter/List-all-Users-Distribution-7f2013b2

 

yada listesini dl listesini cikartitan sonra foreach ile listeden cagir, daha sonra select-object ile istedigni sec oylede export edebilirsin. 

Get-DistributionGroupMember -Identity "Marketing"

hepsini istersen

(Get-DistributionGroup).identity | ForEach-Object{
    $DistributionGroupName = $_
    Get-DistributionGroupMember -Identity $_ | ForEach-Object{
        [PSCustomObject]@{
            DistributionGroup = $DistributionGroupName
            MemberName = $_.Name }}}
 
Gönderildi : 30/06/2018 19:36

(@umitseyhan)
Gönderiler: 367
Üye
 

Merhaba Sefa Bey,

 

Aşağıdaki script işinizi görecektir.

$Groups = Get-DistributionGroup -ResultSize unlimited
foreach ( $Group in $Groups)
{
    [String]$GroupsName = $Group.Name  
    $GroupMembers = Get-DistributionGroupMember -Identity "$GroupsName"
        foreach ( $GroupMember in $GroupMembers)
            {
              $GroupsObj = New-Object -TypeName psobject
              $GroupsObj | Add-Member -Name DistributionGroupName -Value $Group.Name -MemberType NoteProperty
              $GroupsObj | Add-Member -Name DistributionGroupEmailAddress -Value $Group.PrimarySmtpAddress -MemberType NoteProperty
              $GroupsObj | Add-Member -Name FirstName -Value $GroupMember.FirstName -MemberType NoteProperty
              $GroupsObj | Add-Member -Name LastName -Value $GroupMember.LastName -MemberType NoteProperty
              $GroupsObj | Add-Member -Name DisplayName -Value $GroupMember.DisplayName -MemberType NoteProperty
              $GroupsObj | Add-Member -Name EmailAddress -Value $GroupMember.PrimarySmtpAddress -MemberType NoteProperty
              Write-Output $GroupsObj
              Export-Csv -Path "C:\DistributionGroupList.csv" -InputObject $GroupsObj -NoTypeInformation -Encoding UTF8 -Delimiter ";" -Append
            }
}

 

Bilginize.

 
Gönderildi : 30/06/2018 19:50

(@sefayolcu)
Gönderiler: 35
Trusted Member
Konu başlatıcı
 

Malesef 2 scriptte istedigim sonucu almama yardımcı olmadı. Emeginize teşekkürler.

Bana sadece Contact hesapların hangi gruplara üye oldugu gerekiyor.

 
Gönderildi : 30/06/2018 21:15

(@umitseyhan)
Gönderiler: 367
Üye
 

Malesef 2 scriptte istedigim sonucu almama yardımcı olmadı. Emeginize teşekkürler.

Bana sadece Contact hesapların hangi gruplara üye oldugu gerekiyor.

 

Merhaba Sefa Bey,

 

İletmiş olduğum script çıktısını Excel ile açıp, filtre uyguladığınızda contact'ları görebilirsiniz. Yanii Dosyayı excel ile açtıktan sonra mail adreslerinin bukunduğu sütunda kendi domain uzantılarınızı gösterme demeniz yeterli olacaktır.

 

Bilginize.

 
Gönderildi : 30/06/2018 21:53

(@FerhatIndi)
Gönderiler: 467
Honorable Member
 

Malesef 2 scriptte istedigim sonucu almama yardımcı olmadı. Emeginize teşekkürler.

Bana sadece Contact hesapların hangi gruplara üye oldugu gerekiyor.

Contact hesaplari derken hangi attributeten  bahsediyorsunuz? Yani disturbition list manager mi? 

Get-DistributionGroupMember da  managed by attribute yoktur ,  fakat Get-DistributionGroup da ise vardir 

tektek su sekilde,

Get-DistributionGroup-Identity "insurance" | Select-Object ManagedBy

coklu olarakda su sekilde 

Get-DistributionGroup | Select-object Name,@{label="ManagedBy";expression={[string]($_.managedby | foreach {$_.tostring().split("/")[-1]})}}

 
Gönderildi : 30/06/2018 23:23

Paylaş: