我正在尝试在Windows中自动执行Tableau备份。我正在使用Tableau 2019.1。由于每次执行备份时,新的TSM命令都需要输入密码,所以我所做的就是将密码存储在另一个文件中并对其进行加密,然后在我想执行该命令时调用此文件。我不是使用.bat文件,而是使用PowerShell,因为我是通过PowerShell调用凭据“ .sec”文件的(我不确定如何在.bat上执行此操作)。
下面是我做的示例代码(“ MyP @ ssword1”不是我的真实密码,而Tableau备份脚本是我在Tableau社区中发现的):
要加密密码(我将其放在C:\ Users \ Administrator.tableau \ cred.sec上):
"MyP@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-
SecureString | Out-File "c:\Users\BackupAdmin\.tableau\cred.sec"
我的ps1文件:
$FilePath = "C:\Users\Administrator\.tableau\cred.sec"
$Username = "my username"
$encryptedCred = Get-Content $FilePath | ConvertTo-SecureString
$cred = New-Object System.management.Automation.PsCredential($Username,
$encryptedCred)
$Pass = $cred.GetNetworkCredential().Password
$a=Get-Date -UFormat "%y/%m/%d"
tsm maintenance backup -f ts_backup -d -u "$Username" -p "$Pass"
$Pass = ""
tsm maintenance ziplogs -l -t -o -f "logs-$a .zip" -u "$Username" -p "$Pass"
$Pass = ""
在Windows任务计划程序上,
关于操作:启动程序
程序/脚本:C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe
参数:“。\ tableau_backup.ps1”
开始于:““ D:\ Tableau Server \ data \”“
错误消息是:“操作员或管理员已拒绝Windows任务计划程序的请求(0x800710e0)”,但如果我“使用PowerShell运行”,则此脚本可以正常运行。
我不确定我做错了哪一部分,有人可以在这方面给我建议吗?
谢谢您的帮助。