来自 Exchange 和 AD 的 Powershell 报告
Powershell report from Exchange and AD
我有这个脚本,它可以向我报告启用了 OWA 的 AD 用户。
我需要添加到这个欠禁用的用户。
有人知道我如何更改此脚本以获得该结果吗?
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
}
}
这一行
if ($m.OWAEnabled -eq $true) { $Display=$true }
表示:如果OWAEnabled
属性设置为$true
,则显示用户
您只需将其更改为
$Display=$true
意思:无论如何都会显示用户
为了进一步简化,您甚至可以删除仅用于过滤的与 $Display
相关的所有内容:
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 PowerShell cmdlet,您应该学习基础知识以了解您使用的脚本的真正作用,否则您可能最终会毁掉您的 AD :)。
我有这个脚本,它可以向我报告启用了 OWA 的 AD 用户。
我需要添加到这个欠禁用的用户。
有人知道我如何更改此脚本以获得该结果吗?
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
}
}
这一行
if ($m.OWAEnabled -eq $true) { $Display=$true }
表示:如果OWAEnabled
属性设置为$true
,则显示用户
您只需将其更改为
$Display=$true
意思:无论如何都会显示用户
为了进一步简化,您甚至可以删除仅用于过滤的与 $Display
相关的所有内容:
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 PowerShell cmdlet,您应该学习基础知识以了解您使用的脚本的真正作用,否则您可能最终会毁掉您的 AD :)。