Невозможно извлечь использованное и свободное пространство для общих файловых ресурсов в powershell. В настоящее время я использую приведенный ниже скрипт powershell - PullRequest
0 голосов
/ 14 марта 2019
Function CleanUp-PSDrive {
    Get-PSDrive -PSProvider FileSystem | Where { $_.Name -in (69..90 | ForEach-Object { [char]$_ })} | Remove-PSDrive
}

$Csv = Import-Csv "C:\Users\503080876\Documents\New folder\new.txt"

$Csv.Name | ForEach-Object -Begin { $Letter = 69 } {

New-PSDrive -Root  $_ -Name([char]$Letter) -PSProvider FileSystem



  #select root,used | 

 select used,free | export-csv "C:\Users\503080876\Documents\New folder\New1.txt"




    if ($Letter -lt 90) 
    { 
      $Letter++ 
    } 
    else 
    { 
        CleanUp-PSDrive
        $Letter = 69
    }
} -End { CleanUp-PSDrive }

1 Ответ

0 голосов
/ 22 марта 2019
Function CleanUp-PSDrive {
Get-PSDrive -PSProvider FileSystem | Where { $_.Name -in (69..90 | ForEach-Object { [char]$_ })} | Remove-PSDrive

}

$Csv = Import-Csv "path"

$ Csv.Name | ForEach-Object -Begin {$ Letter = 69} {

new-PSDrive -Root $ _ -Name ([char] $ Letter) -PSProvider FileSystem -Persist

if ($Letter -lt 90) 
{ 
  $Letter++ 
} 
else 
{ 
    CleanUp-PSDrive
    $Letter = 69
}
} -End { CleanUp-PSDrive } | 

Select-Object @ {name = "Имя общего ресурса файла"; expression = {$ . 'DisplayRoot'}}, @ {name = "Total (GB)"; expression = {($ . free + $ .used) / 1 ГБ}}, @ {name = "Используется (ГБ)"; expression = {$ .used / 1 ГБ}}, @ {name = "Free (ГБ)"; выражение = {$ _. free / 1GB}} |

export-csv "путь" -NoTypeInformation

...