Я пытаюсь запланировать еженедельную задачу, которая берет резервную копию некоторых важных данных (В конце концов, я хочу запустить сценарий PowerShell из диспетчера задач Windows). У этого провайдера уже есть пакетный скрипт (backup.bat). Я написал сценарий powershell, который вызывает этот пакетный скрипт. Но при вызове backupdb из powershell не удается сбросить сообщение об ошибке «Разрешение отказа».Выполнять пакетный скрипт как администратор изнутри powershell
Я попытался ниже, который не работал:
start-process $BackupCmd -verb runas -ArgumentList "$Flags `"$BackupFile`""
Посмотрев на несколько постов на SO и других форумах, я был в состоянии найти ответы для запуска Powershell скрипт внутри пакетного сценария как администратор а не наоборот.
how to run as admin powershell.ps1 file calling in batch file, Run a powershell script in batch file as administrator и How to run a PowerShell script from a batch file
EDIT 1:
1.I запустить командный сценарий и сценарий PowerShell в качестве того же пользователя.
2.I попытался поднять PowerShell с помощью «-verb runas», но не работал. Запуск сценария PowerShell из того же повышенного окна, что и пакетный скрипт.
3.Pasting скрипт PowerShell ниже:
$CurrentDate = get-date -format yyyyMMdd
$BackupStartDate = (get-date).AddDays(-7).ToString("yyyyMMdd")
$BackupDir = "<directory path>"
$BackupFile = $BackupDir + "Backup-" + $BackupStartDate + "-to-" + $CurrentDate + ".txt"
$BackupCmd = "C:\Progra~1\bin\backup"
$Verbose = " -v "
$ArchiveStart = " -S " + $BackupStartDate
$Flags = $Verbose + $ArchiveStart
# Both commands below do not work
start-process $BackupCmd -verb runas -ArgumentList "$Flags `"$BackupFile`""
& $BackupCmd $Flags `"$BackupFile`"
4.Error:
backup.bat : Error writing to the debug log! <type 'exceptions.IOError'> [Errno 13]
Permission denied: 'C:\\Program Files\\tmp\\debug.log'
(2014/06/05 12:42:01.07) [8764] --> Exception encountered. <Unable to load config file!>
Error writing to the debug log! <type 'exceptions.IOError'> [Errno 13] Permission denied:
Спасибо.
Вы должны попробовать просто набрав во имя командного файла. Это потрясающе! – Cole9350
Cole9350, я не понял ваш комментарий, но я попытался запустить пакетный скрипт из командной строки как администратор, и он работает. Сценарий не работает изнутри powershell. – Sarvavyapi
'. \ Batchname.bat' или просто указать полный путь – Cole9350