Мне нужно подождать 23 часа, чтобы получить награду, но я обязательно отправлю ее, когда смогу.
аюсь создать скрипт для сборки, который проверяет файл, редактирует его и проверяет обратно.
Я хочу, чтобы он работал при работе в качестве разработчика или агента сборки.
У меня есть решение, похожее наэтопри этом пароль сохраняется в файле и извлекается для сборки.
то есть
Создание файла:
read-host -prompt Password -assecurestring | convertfrom-securestring | out-file .\ps-password.pwd -ErrorAction Stop
Использование файла:
# *VSTS Login*
$Username = $tfsUserName
$Password = Get-Content $tfsUserPasswordPath | ConvertTo-SecureString
$creds = New-Object -typename System.Management.Automation.PSCredential -ArgumentList $Username,$Password
$tfsServer = New-Object System.Uri("https://myaccount.visualstudio.com")
$tfsCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection($tfsServer,$creds)
$tfsCollection.Authenticate()
"***************** Authenticated *****************"
" *VSTS Check Out file* from $fileToUpdate"
Add-TfsPendingChange -Edit -Item $fileToUpdate -Verbose -ErrorAction Stop -wa 0
# read the file, update the number and save it back
$stuff = Get-Content $fileToUpdate
# modify stuff
Set-Content -Value $stuff -Path $fileToUpdate
# *VSTS Check In* Check in the file after changes.
" *VSTS Check In"
New-TfsChangeset -Item $fileToUpdate -Verbose -Comment "***NO_CI***" -Override true -ErrorAction Stop
SecureStrings
основаны на учетной записи компьютера / пользователя, поэтому сборка работает нормально при запуске изPowershell ISE
как моя учетная запись, но не при запуске с сервера сборки (он работает какNetworkService
сейчас).
Я пытался следоватьэта почта создать файл пароля как «Сетевая служба», а также попробоватьключ для безопасной строки, но не могу заставить что-либо работать под моим пользователем и сетевой службой.
Как я могу просто сохранить учетные данные, которые будут работать независимо от пользователя, выполняющего скрипт?
Или это просто неправильный способ сделать это, и я должен как-то использовать PAT?