У меня есть пакетный файл, который удаляет некоторые файлы с сетевых дисков, а затем вызывает скрипт powershell. Сценарий powershell получает информацию о пространстве всех сетевых дисков и отправляет почту. Ниже приведена команда, используемая для получения деталей пространства:
$disks = Get-WmiObject -ComputerName "ABCD001" -Class Win32_LogicalDisk -Filter "DriveType = 4";
$deviceID = $disk.DeviceID;
foreach($disk in $disks)
{
$totalSpaceGB = [Math]::Round([float]$disk.Size / 1073741824, 2);
$freeSpaceGB = [Math]::Round([float]$disk.FreeSpace / 1073741824, 2);
$disk, 'TotalSize = ', $totalSpaceGB + " Gb", 'FreeSpace = ', $freeSpaceGB + " Gb", $disk.ProviderName -join ' ' | Out-File -FilePath $FilePath -Append -Width 200;
}
Ниже приведена команда, используемая для получения сведений о пространстве локальных дисков:
$disks = Get-WmiObject -ComputerName $computer -Class Win32_LogicalDisk -Filter "DriveType = 3";
Проблема в том, что когда я запускаю этот пакетный файл вручную, он работает нормально. Но при планировании или запуске из планировщика задач результат для сетевых дисков выглядит следующим образом:
TotalSize = 0 Gb FreeSpace = 0 Gb
Похоже, он не может подключиться к сетевым дискам. Как я уже говорил ранее, когда я вхожу и запускаю пакетный скрипт вручную, он возвращает желаемый результат.
Пожалуйста помоги!!!