Я пытаюсь автоматизировать резервное копирование таблиц в Windows. Я использую Таблицу 2019.1. Поскольку новая команда TSM требует пароль каждый раз, когда мы выполняем резервное копирование, я сохранял пароль в другом файле и шифровал его, а затем вызываю этот файл, когда хочу выполнить команду. Вместо использования файла .bat я использую PowerShell, потому что я вызываю файл «.sec» учетных данных через PowerShell (я не уверен, как это сделать на .bat).
Ниже приведен пример кода, который я сделал («MyP @ ssword1» не является моим реальным паролем, а скрипт резервного копирования таблиц - это то, что я нашел где-то из сообщества 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 \ ""
Сообщение об ошибке: «оператор или администратор отклонил запрос (0x800710e0)» из планировщика задач Windows, но если я «работаю с PowerShell», этот сценарий работает в обычном режиме.
Я не уверен, какую часть я сделал неправильно, кто-то может мне посоветовать?
Заранее спасибо за помощь.