Fixed: Error when calculating diskspace and no public folder database available
This commit is contained in:
parent
6868241a6d
commit
68fa24ff35
1 changed files with 29 additions and 22 deletions
|
@ -1374,30 +1374,37 @@ namespace WebsitePanel.Providers.HostedSolution
|
||||||
|
|
||||||
long size = 0;
|
long size = 0;
|
||||||
|
|
||||||
Command cmd = new Command("Get-PublicFolderStatistics");
|
Command cmd = new Command("Get-PublicFolderDatabase");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
|
||||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||||
if (result != null && result.Count > 0)
|
if (result != null && result.Count > 0)
|
||||||
{
|
{
|
||||||
PSObject obj = result[0];
|
cmd = new Command("Get-PublicFolderStatistics");
|
||||||
Unlimited<ByteQuantifiedSize> totalItemSize =
|
cmd.Parameters.Add("Identity", folder);
|
||||||
(Unlimited<ByteQuantifiedSize>)GetPSObjectProperty(obj, "TotalItemSize");
|
if (!string.IsNullOrEmpty(PublicFolderServer))
|
||||||
size += ConvertUnlimitedToBytes(totalItemSize);
|
cmd.Parameters.Add("Server", PublicFolderServer);
|
||||||
}
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
|
if (result != null && result.Count > 0)
|
||||||
|
{
|
||||||
|
PSObject obj = result[0];
|
||||||
|
Unlimited<ByteQuantifiedSize> totalItemSize =
|
||||||
|
(Unlimited<ByteQuantifiedSize>)GetPSObjectProperty(obj, "TotalItemSize");
|
||||||
|
size += ConvertUnlimitedToBytes(totalItemSize);
|
||||||
|
}
|
||||||
|
|
||||||
cmd = new Command("Get-PublicFolder");
|
cmd = new Command("Get-PublicFolder");
|
||||||
cmd.Parameters.Add("Identity", folder);
|
cmd.Parameters.Add("Identity", folder);
|
||||||
cmd.Parameters.Add("GetChildren", new SwitchParameter(true));
|
cmd.Parameters.Add("GetChildren", new SwitchParameter(true));
|
||||||
if (!string.IsNullOrEmpty(PublicFolderServer))
|
if (!string.IsNullOrEmpty(PublicFolderServer))
|
||||||
cmd.Parameters.Add("Server", PublicFolderServer);
|
cmd.Parameters.Add("Server", PublicFolderServer);
|
||||||
result = ExecuteShellCommand(runSpace, cmd);
|
result = ExecuteShellCommand(runSpace, cmd);
|
||||||
foreach (PSObject obj in result)
|
foreach (PSObject obj in result)
|
||||||
{
|
{
|
||||||
string id = ObjToString(GetPSObjectProperty(obj, "Identity"));
|
string id = ObjToString(GetPSObjectProperty(obj, "Identity"));
|
||||||
size += CalculatePublicFolderDiskSpace(runSpace, id);
|
size += CalculatePublicFolderDiskSpace(runSpace, id);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
size = 0;
|
||||||
ExchangeLog.LogEnd("CalculatePublicFolderDiskSpace");
|
ExchangeLog.LogEnd("CalculatePublicFolderDiskSpace");
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue