我有一个批处理文件,它从网络驱动器中删除一些文件,然后调用 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
看起来无法连接到网络驱动器。正如我之前所说,当我进入并手动运行批处理脚本时,它会返回所需的结果。
请帮忙!!!
答案1
任务计划程序需要知道以管理员身份运行该脚本。