-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMailBoxRangeCheck.ps1
More file actions
81 lines (80 loc) · 3.18 KB
/
MailBoxRangeCheck.ps1
File metadata and controls
81 lines (80 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#region
Clear-Host
$num = Read-Host -Prompt "Kindly Enter the Mailbox size you want to check _ "
$num = [int32]$num
$symbol = Read-Host -Prompt "To Check for mailbox less than the values entered KeyIn '<' Or To Check for mailbox greater than the values entered KeyIn '>' "
$gbcheck = Read-Host -Prompt "Kindly Enter the 'MB' for megabyte - 'GB' for gigabytes - 'KB' for kilobytes "
if ($symbol -eq "<"){
$values = Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics
$arr = @{}
foreach($value in $values){
$dvalue = $value.TotalItemSize.Value
$dvalue = $dvalue.ToString()
$tvalue = $dvalue -replace '\s',''
$tvalue = $tvalue -replace '\,',''
$tvalue = $tvalue -replace '\(',''
$tvalue = $tvalue -replace '\)',''
$tvalue = $tvalue -replace '\.',''
$svalue = $tvalue.IndexOf("B")
$lvalue = $tvalue.IndexOf("b")
$svalue = $svalue + 1
$lvalue = $lvalue - $svalue
$size = $tvalue.Substring($svalue, $lvalue)
$check = $tvalue.Substring($svalue-2, 2)
$size = [int32]$size
if($check -eq "KB" -and $gbcheck -eq "KB"){
$size = $size/1024
if($size -lt $num){
$arr.Add($value.DisplayName, $value.TotalItemSize)
}
}elseif($check -eq "MB" -and $gbcheck -eq "MB"){
$size = $size/1024/1024
if($size -lt $num){
$arr.Add($value.DisplayName, $value.TotalItemSize)
}
}elseif($check -eq "GB" -and $gbcheck -eq "GB"){
$size = $size/1024/1024/1024
if($size -lt $num){
$arr.Add($value.DisplayName, $value.TotalItemSize)
}
}
}
}elseif ($symbol -eq ">") {
$values = Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics
$arr = @{}
foreach($value in $values){
$dvalue = $value.TotalItemSize.Value
$dvalue = $dvalue.ToString()
$tvalue = $dvalue -replace '\s',''
$tvalue = $tvalue -replace '\,',''
$tvalue = $tvalue -replace '\(',''
$tvalue = $tvalue -replace '\)',''
$tvalue = $tvalue -replace '\.',''
$svalue = $tvalue.IndexOf("B")
$lvalue = $tvalue.IndexOf("b")
$svalue = $svalue + 1
$lvalue = $lvalue - $svalue
$size = $tvalue.Substring($svalue, $lvalue)
$check = $tvalue.Substring($svalue-2, 2)
$size = [int32]$size
if($check -eq "KB" -and $gbcheck -eq "KB"){
$size = $size/1024
if($size -gt $num){
$arr.Add($value.DisplayName, $value.TotalItemSize)
}
}elseif($check -eq "MB" -and $gbcheck -eq "MB"){
$size = $size/1024/1024
if($size -gt $num){
$arr.Add($value.DisplayName, $value.TotalItemSize)
}
}elseif($check -eq "GB" -and $gbcheck -eq "GB"){
$size = $size/1024/1024/1024
if($size -gt $num){
$arr.Add($value.DisplayName, $value.TotalItemSize)
}
}
}
}
[pscustomobject]$arr | Export-Csv .\MboxSize.csv -NoTypeInformation
Write-Output $arr
#endregion