Проблема с проверкой свободного пространства на сетевых дисках-сценарий Powershell

у меня есть пакетный файл, который удаляет некоторые файлы с сетевых дисков, а затем вызывает сценарий 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 

похоже, не удается подключиться к сетевым дискам. Как я уже говорил ранее, когда я иду и запускаю пакетный скрипт вручную, он возвращает желаемый результат.

пожалуйста, помогите!!!

6
задан Pandee
27.03.2023 9:10 Количество просмотров материала 2446
Распечатать страницу

1 ответ

планировщик задач должен знать, чтобы запустить сценарий от имени администратора.

0
отвечен Noshad Chaudhry 2023-03-28 16:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх