
Quero construir um One-Liner para obter as notas de um grupo de distribuição específico e exibi-lo junto com o nome e outras informações do grupo de distribuição. Pesquisei no Google e encontrei fontes diferentes com as mesmas soluções. Estas são as soluções que encontrei:
Get-DistributionGroup Head-of-Operations | Select-Object Name, GroupType, ManagedBy, @{Name="Notes";Expression={(Get-Group $_).Notes}}
Esta é uma das fontes para isso:
https://richgski.blogspot.com/2012/03/powershell-get-exchange-distribution.html
Mas a linha com as notas sempre ficará em branco e não sei por quê:
Name GroupType ManagedBy Notes
---- --------- --------- -----
Head-of-Ops Universal {}
Quando eu faço o seguinte comando separadamente:
Get-Group Head-of-Ops | Select-Object Notes
... está me dando a nota correta como saída:
Notes
-----
Owner- Paul J.
Agora brinquei um pouco mais com ele. O código a seguir está funcionando perfeitamente:
$Result = Get-DistributionGroup Head-of-Operations
Get-Group $Result.Name | Select-Object Notes
Saída:
Notes
-----
Owner- Paul J.
Mas este ainda não está funcionando. Ele é executado sem nenhum erro, mas o Notes ainda está em branco:
Get-DistributionGroup Head-of-Operations | Select-Object Name,GroupType,ManagedBy,@{Name="Notes";Expression={(Get-Group $_.Name | Select-Object Notes)}}
Saída:
Name GroupType ManagedBy Notes
---- --------- --------- -----
Head-of-Ops Universal {}
Depois disso encontrei outro post para este tópico aqui: https://www.oxfordsbsguy.com/2014/04/21/exchange-powershell-how-to-enumerate-distribution-lists-managers-and-members/#comment-4452
Mas ainda assim, usando o seguinte comando:
Get-DistributionGroup Head-of-Ops | Select-Object Name,GroupType,ManagedBy,@{Expression={(Get-Group $_.Name).Notes};Label="Notes"}
Ainda recebo a mesma saída sem nenhuma nota ...
Name GroupType ManagedBy Notes
---- --------- --------- -----
Head-of-Ops Universal {}
Eu simplesmente não entendo :/
Alguém de vocês vê o problema e pode me indicar?
Atenciosamente,
Kevin van Thiel
Responder1
Executei este comando com o parâmetro -verbose agora e acho que estou um passo mais perto da solução. Acho que em algum momento só falta um parâmetro, mas não sei qual. Este é o código: (marquei as informações confidenciais com um * asterisco)
Get-DistributionGroup Head-of-Ops@h***.com -Verbose | Select-Object Name,GroupType,ManagedBy,@{Name="Notes";Expression={(Get-Group $_.Name).Notes}} -Verbose
VERBOSE: [16:04:28.885 GMT] Get-DistributionGroup : Active Directory session settings for 'Get-DistributionGroup' are: View Entire Forest: 'False', Default Scope: 'h***.de', Configuration Domain Controller: 'H***.h***.de',
Preferred Global Catalog: '***.h***.h***.de', Preferred Domain Controllers: '{ ****.h***.h***.de, H***.h***.de }'
VERBOSE: [16:04:28.916 GMT] Get-DistributionGroup : Runspace context: Executing user: h***.de/Companies/H***/D***/User/IT Service/****, Executing user organization: , Current organization: , RBAC-enabled: Enabled.
VERBOSE: [16:04:28.916 GMT] Get-DistributionGroup : Beginning processing &
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Current ScopeSet is: { Recipient Read Scope: {{, }}, Recipient Write Scopes: {{, }}, Configuration Read Scope: {{, }}, Configuration Write Scope(s): {{, }, }, Exclusive Recipient
Scope(s): {}, Exclusive Configuration Scope(s): {} }
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Resolved current organization: .
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Searching objects "Head-of-Ops@h***.com" of type "ADGroup" under the root "$null".
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Previous operation run on domain controller 'H***.h***.de'.
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Previous operation run on domain controller 'H***.h***.de'.
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Preparing to output objects. The maximum size of the result set is "1000".
VERBOSE: [16:04:28.947 GMT] Get-DistributionGroup : Ending processing &
Name GroupType ManagedBy Notes
---- --------- --------- -----
Head-of-Ops Universal {}
A linha a seguir é aquela onde acho que o problema está enterrado:
VERBOSE: [16:04:28.932 GMT] Get-DistributionGroup : Searching objects "Head-of-Ops@h***.com" of type "ADGroup" under the root "$null".
Alguém tem ideia do que está faltando e por quê?