当前位置: 首页 > 知识库问答 >
问题:

如何在具有管理员权限的Windows任务计划程序中设置Powershell脚本?

卓正业
2023-03-14

我正在运行以下PowerShell脚本,该脚本创建Tableau备份,并使用Windows任务计划程序将其上传到Google云存储。

#Tableau Server backup
&$tsm maintenance backup -f $Backups_file -d -u $User -p $Password


CD "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin"
$backups_folder = "D:\Tableau Server\data\tabsvc\files\backups\" #default backup path for Tableau installation #&$tsm configuration get -k basefilepath.backuprestore
$filename = get-childitem -path $backups_folder -Filter "*.tsbak" | where-object { -not $_.PSIsContainer } | sort-object -Property $_.CreationTime | select-object -last 1 
$fullpath = Join-Path $backups_folder $filename 
gsutil cp $fullpath  gs://my_bucket/backups #upload the latest backup to GCP

我使用命令:

powershell -Command  "start-process -verb runAs "powershell " -argumentlist "E:\Tableau\test.ps1""

这将提示以下消息:

它运行脚本,创建备份并成功上传到GCS。

现在,我需要使用Windows任务计划程序自动执行此脚本,具体操作如下:

Program/script: powershell
Add arguments (optional): -Command  "start-process -verb runAs "powershell " -argumentlist "E:\Tableau\test.ps1""

我将任务设置为由用户系统以最高权限运行:

在这种情况下,什么也不会发生。

我尝试了另一个创建备份但不上传到GCS的命令。当我在CMD上手动运行它时,使用命令PowerShell-执行策略绕过-file'E:\Tableau\Tableau Backup\test.ps1,我得到以下错误:

PS D:\Tableau Server\data\tabsvc\files\backups> powershell -executionpolicy bypass -file 'E:\Tableau\Tableau Backup\test
.ps1'
CommandException: Error opening file "file://D:\Tableau Server\data\tabsvc\files\backups\TableauBackup-2020-06-06.tsbak"
: [Errno 13] Permission denied: u'D:\\Tableau Server\\data\\tabsvc\\files\\backups\\TableauBackup-2020-06-06.tsbak'.

显然,在使用gsutil命令时存在权限错误。当我以管理员身份手动启动cmd时,命令运行平稳。

最后一个命令在从非管理员提升的CMD触发时工作正常,但在Windows任务计划程序中安装时不起作用:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -Command  "start-process -verb runAs "powershell " -argumentlist "E:\Tableau\test.ps1""

我还尝试了这个方法,它在任务计划程序上不起作用,在运行CMD时会手动运行,但也会失败,权限被拒绝,正如我前面列出的命令:

powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File "E:\Tableau\test.ps1"

如何正确设置myWindows任务计划程序以成功运行此脚本?

共有2个答案

牧信厚
2023-03-14

我也无法启动脚本,在大量搜索后没有任何帮助。"和"之间没有区别,没有命令,没有文件。

我只是将在powershell中运行的命令放在参数选项卡中:/脚本。ps1参数11参数2 xx等。现在调度器工作了。节目:Powershell。exe开始于:C:/location/of/script/

宰父玄天
2023-03-14

这最终对我有用。

Program/script: powershell
Add arguments (optional): -ExecutionPolicy Bypass -command "E:\Tableau\test.ps1 2>&1 > E:\Tableau\test_output.txt"

或者在一个命令中从管理员提升的CMD运行:

powershell -ExecutionPolicy Bypass -command "E:\Tableau\test.ps1 2>&1 > E:\Tableau\test_output.txt"

真正的问题是我在谷歌云虚拟机上运行这个,我需要更改虚拟机的作用域以访问所有API。

完成后,我成功地运行了脚本

 类似资料:
  • 我创建了一个使用文件系统观察器并创建作业的脚本。当文件被添加到一个文件夹时,它 重命名新添加的文件 将文件移动到新目标位置 开始下游工作流 一旦完成,工作就结束了。 我想做的是使用Windows任务计划程序来检查作业完成后立即再次运行。这样,如果一个人丢弃了一个文件夹,另一个人也可以做同样的事情。 此外,如果有其他方法来完成这项工作,我很乐意使用它。 我已尝试安排任务运行,但最小增量为1分钟 我希

  • 我正在尝试运行一个python脚本来下载qualtrics调查的回答,并将其存储为CSV格式。作为脚本的一部分,它调用了zipfile.zipfile。当我在VS代码终端窗口中运行这个程序时,它下载并解压文件就可以了。然而,当我在Windows任务计划程序中运行脚本时,我遇到了这个错误。 我运行的是python 3.6,windows 10,我尝试了从我的登录帐户更改用户权限,将文件路径作为要运行

  • 在此之前我问了一个问题。我的服务conifg是: 我编写了一个扩展mediator交易文件。该类返回文件名并向服务发送请求。服务没有输入消息。我要每天13:30的服务。我尝试添加新的计划任务。但是它不能工作?谁能告诉我如何设置这个计划任务? 我也不知道如何设置“固定服务器”。

  • 本文向大家介绍如何使用PowerShell启动任务计划程序的特定任务?,包括了如何使用PowerShell启动任务计划程序的特定任务?的使用技巧和注意事项,需要的朋友参考一下 要使用PowerShell启动任务计划程序的特定任务,我们需要使用Start-ScheduledTask 命令。 当我们运行上面的命令时,我们需要提供任务名称。 例如, 当您检查以上任务状态时, 示例 输出: 要在远程计算机

  • 本文向大家介绍PowerShell中以管理员权限启动应用程序的方法,包括了PowerShell中以管理员权限启动应用程序的方法的使用技巧和注意事项,需要的朋友参考一下 又一个PowerShell比CMD好的地方。在CMD中用管理员权限来启动应用程序很复杂,但在PowerShell中就简单多了,如下:

  • 我有一些可执行文件要安排在Windows任务调度程序中运行。他们的输出必须在某处看到。通过Windows任务计划程序运行应用程序时,程序的输出将丢失。如何捕获此输出?我做了谷歌搜索,找到了破解方法,改为运行cmd并将输出重定向到日志文件,但我无法将这些信息很好地保存在XML文件中,我应该能够在任务调度程序中注册,因此我需要一种更好的方法。 任何帮助都将不胜感激。