Private/Write-DiskInfo.ps1

Function Write-DiskInfo {
    param (
        [parameter(Mandatory=$False)]
            [string] $FileName,
        [parameter(Mandatory=$False)]
            [string] $TableName,
        [parameter(Mandatory=$False)]
            [string] $SiteCode,
        [parameter(Mandatory=$False)]
            [int] $NumberOfDays,
        [parameter(Mandatory=$False)]
            [string] $LogFile,
        [parameter(Mandatory=$False)]
            [string] $ServerName,
        [parameter(Mandatory=$False)]
            [bool] $ContinueOnError = $true
    )
    Write-Log -Message "function... Write-DiskInfo ****" -LogFile $logfile
    $DiskList = Get-CmWmiObject -Class "Win32_LogicalDisk" -Filter "DriveType = 3" -ComputerName $servername -LogFile $logfile -ContinueOnError $continueonerror
    if ($DiskList -eq $null) { return }
    $Fields=@("DeviceID","Size","FreeSpace","FileSystem")
    $DiskDetails = New-CmDataTable -TableName $tableName -Fields $Fields
    foreach ($Disk in $DiskList) {
        $row = $DiskDetails.NewRow()
        $row.DeviceID = $Disk.DeviceID
        $row.Size = ([int](($Disk.Size) / 1024 / 1024 / 1024)).ToString()
        $row.FreeSpace = ([int](($Disk.FreeSpace) / 1024 / 1024 / 1024)).ToString()
        $row.FileSystem = $Disk.FileSystem
        $DiskDetails.Rows.Add($row)
    }
    , $DiskDetails | Export-CliXml -Path ($filename)
}