У меня есть дилемма.Powershell и выполнение запланированного задания как другой пользователь
Я пытаюсь настроить запланированную задачу в Windows, которая запускает сценарий powershell как другой пользователь (учетная запись службы, которая имеет доступ, но не имеет права входа). Проблема в том, что нашей группе безопасности сообщили, что мы не будем кодировать пароли (очевидно, хорошие советы), но строка подключения для SQL, похоже, нуждается в ней в виде простого текста. Я получаю вокруг этого путем создания файла паролей:
$credential = Get-Credential
$credential.Password | ConvertFrom-SecureString | Set-Content e:\temp\password.txt
, а затем в сценарии преобразования его обратно в обычный текст (который будет использоваться в строке подключения)
$password = cat E:\temp\password.txt | ConvertTo-SecureString
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($password)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
$connectionString = "Data Source=<mydatabase>;Initial Catalog='<mytable>';User ID=tng ;Password=$Unsecurepassword;"
Загвоздка однако, является что когда я создаю файл паролей и запускаю скрипт как сам, он отлично работает, но я не могу запустить его как запланированную задачу. В прошлом опыте я видел, где, вероятно, файл пароля, вероятно, создается учетной записью службы, выполняющей запланированную задачу, но без локальных прав регистрации, я не уверен, как это создать. Есть предположения?
Я пробовал this technet article, но кажется, что он по-прежнему требует локального входа в систему с другой учетной записи.
Ну, я думаю, я мог бы что-то [Li пк] (http://www.adminarsenal.com/admin-arsenal-blog/secure-password-with-powershell-encrypting-credentials-part-2/) – jdolluc