2015-11-12 41 views
-1

我有这个脚本,它提供了关于支持OWA的AD用户的报告。来自Exchange和AD的PowerShell报告

我需要添加到此欠缺使用者。

任何人谁知道我如何改变这个脚本来获得结果?

Import-Module "ActiveDirectory" 

$mailboxes = Get-CASMailbox -ResultSize 10000 

"DisplayName;ActiveSync;Owa;SamAccountName;ExpiriationDate;AccountStatus;Department;Title;Description;Company;Office;LastLogonTime;" 

foreach ($m in $mailboxes) { 
    $Display=$false 
    if ($m.OWAEnabled  -eq $true) { $Display=$true } 
    if ($Display -eq $true) { 
    $a = Get-ADUser $m.DistinguishedName -properties * 
    $s = Get-MailboxStatistics $m.DistinguishedName 
    "{0};{1};{2};{3};{4};{5};{6};{7};{8};{9};{10};{11};" -f $m.DisplayName,$m.ActiveSyncEnabled,$m.OWAEnabled,$m.samAccountName,$a.AccountExpirationDate,[string]$a.Enabled,$a.Department,$a.title,$a.description,$a.company,$a.office,$s.LastLogonTime 
    } 

} 
+1

将'$ m.OWAEnabled'条件更改为'$ false'? – arco444

+0

删除两个'if'条件并移除'$ Display = $ false'。 –

+0

谢谢!这工作。 – Marino

回答

-1

此行

if ($m.OWAEnabled  -eq $true) { $Display=$true } 

意味着:如果OWAEnabled属性设置为$true,然后显示用户

你可以简单地将其更改为

$Display=$true 

含义:用户将在任何情况下显示

为了进一步简化,你甚至可以删除相关$Display一切这是只用于过滤:如果你开始与AD的PowerShell cmdlet来发挥

Import-Module "ActiveDirectory" 

$mailboxes = Get-CASMailbox -ResultSize 10000 

"DisplayName;ActiveSync;Owa;SamAccountName;ExpiriationDate;AccountStatus;Department;Title;Description;Company;Office;LastLogonTime;" 

foreach ($m in $mailboxes) { 
    $a = Get-ADUser $m.DistinguishedName -properties * 
    $s = Get-MailboxStatistics $m.DistinguishedName 
    "{0};{1};{2};{3};{4};{5};{6};{7};{8};{9};{10};{11};" -f $m.DisplayName,$m.ActiveSyncEnabled,$m.OWAEnabled,$m.samAccountName,$a.AccountExpirationDate,[string]$a.Enabled,$a.Department,$a.title,$a.description,$a.company,$a.office,$s.LastLogonTime  
} 

,你应该学习的基础知识,了解哪些脚本你使用真的,或者你可能最终毁了你的AD :)。

+0

谢谢。就是这样。 – Marino