Ошибка при запуске автоматического резервного копирования таблиц с использованием TSM в Powershell

#powershell #automation #tableau-api

#powershell #автоматизация #tableau-api

Вопрос:

Я пытаюсь автоматизировать резервное копирование Tableau в Windows. Я использую Tableau 2019.1. Поскольку новая команда TSM требует пароль каждый раз, когда мы делаем резервное копирование, я сохранил пароль в другом файле и зашифровал его, и вызываю этот файл, когда хочу выполнить команду. Вместо использования файла .bat я использую PowerShell, потому что я вызываю файл учетных данных ‘.sec’ через PowerShell (я не уверен, как это сделать в .bat).

Ниже приведен пример кода, который я сделал («MyP @ ssword1» не является моим настоящим паролем, а сценарий резервного копирования tableau — это то, что я нашел где-то в сообществе Tableau):

Для шифрования пароля (я ввел его C:UsersAdministrator.tableaucred.sec ):

 "MyP@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom- 
 SecureString | Out-File "c:UsersBackupAdmin.tableaucred.sec"
  

Мой файл ps1:

 $FilePath = "C:UsersAdministrator.tableaucred.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:WindowsSystem32WindowsPowerShellv1.0powershell.exe

аргументы: «.tableau_backup.ps1»

начните с: «»D:Tableau Сервер данные «»

Сообщение об ошибке: «оператор или администратор отклонил запрос (0x800710e0)» из планировщика задач Windows, но если я «запускаю с помощью PowerShell», этот скрипт работает в обычном режиме.

Я не уверен, какую часть я сделал неправильно, кто-нибудь может посоветовать мне по этому поводу?

Заранее спасибо за вашу помощь.

Комментарии:

1. Вы уверены, что используете одну и ту же учетную запись для шифрования пароля и запуска запланированной задачи? Если вы используете другую учетную запись, она не сможет расшифровать пароль.

2. Подробнее об этом: строки безопасности шифруются и расшифровываются в контексте конкретного пользователя. Таким образом, если вы зашифруете его как user1, вы не сможете расшифровать его как user2. Только пользователь1 сможет это сделать.

3. привет, Робди и Сет, спасибо за ваш комментарий. Для этого я использую AWS и использую точный снимок сервера с тем же именем компьютера и именем пользователя (это новый компьютер, другого пользователя еще не создано, есть только системный пользователь). Теперь моя проблема решена, проблема заключается в условиях при запуске (необязательно) и аргументах. Я предполагаю использовать — FILE «путь к .ps1» и оставить начальное значение (необязательно) пустым, также в настройках я предполагал использовать «остановить существующий экземпляр». Спасибо за вашу помощь!