Это должно быть абсолютно легко, но я все время натыкаюсь на кирпичную стену. Я запускаю сценарий Powershell, который выполняет аудит моих задач и сохраняет результат в CSV. Однако у меня все еще возникает ошибка разрешений, и я не могу понять, что мне не хватает.
Вот мой код:
Get-ScheduledTask |
Where State -ne "Disabled" |
Get-ScheduledTaskInfo |
Select TaskName,TaskPath,LastRunTime, LastTaskResult,NextRunTime,NumberofMissedRuns |
Where { $_.TaskName -like "test_*"} |
Export-Csv -NoTypeInformation -Path C:\temp\scheduled_tasks_audit
Вот что я получаю в ответ:
Export-Csv : Access to the path 'C:\temp\scheduled_tasks_audit' is denied.
At C:\temp\scheduled_tasks_audit\example_task_audit.ps1:6 char:5
+ Export-Csv -NoTypeInformation -Path C:\temp\scheduled_tasks_audit
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (:) [Export-Csv], UnauthorizedAccessException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ExportCsvCommand
Я проверил пользователя, под которым работал Powershell. using:
[Environment]::UserName
И убедился, что у учетной записи есть полные разрешения для целевой папки, но я все еще получаю сообщение об отказе в доступе.
Я использую Windows Server 2012 R2 и Powershell 4.0
Кажется, ваш параметр пути указывает на имя папки, из которой вы запускаете скрипт, поэтому вы запускаете скрипт, и он пытается создать файл с именем C: \ temp \ schedule_tasks_audit, который уже существует как папка. Если вы запустите Get-Help Export-CSV -Full, вы увидите, что параметр Path требует имени файла
-Path [<String>]
Specifies the path to the CSV output file. This parameter is required.
Required? false
Position? 1
Default value none
Accept pipeline input? false
Accept wildcard characters? false
. Измените код на
Get-ScheduledTask |
Where State -ne "Disabled" |
Get-ScheduledTaskInfo |
Select TaskName,TaskPath,LastRunTime, LastTaskResult,NextRunTime,NumberofMissedRuns |
Where { $_.TaskName -like "test_*"} |
Export-Csv -NoTypeInformation -Path C:\temp\scheduled_tasks_audit\output.csv
, и все будет в порядке.
Вам необходимо указать имя файла в конце вашей переменной -Path, например:
C: \ temp \ schedule_tasks_audit \ audit.csv