我们有一些旧的 ADO/VSTS 项目,我们希望将它们存档并设为只读。每个项目都有工作项、构建、git repos 等...
目前我发现的唯一方法是痛苦的。
我用 git repos 尝试了这个,但存在一些问题,因为某些权限不会继承给创建 git repo 的个人用户,他们仍然能够签入。
在这里您可以看到我创建了一个 READONLY 组并将除读取权限之外的所有内容设置为拒绝。(该组的成员是默认组,例如贡献者、构建管理员、项目管理员)
但是,在我创建只读组之前,我有一个由测试用户创建的存储库,并且该用户似乎仍然对该存储库具有权限
好吧好吧我知道如果权限设置在较低级别,那么它们将不会从顶级父级继承下来。我可以创建一个脚本来检查每个 git repo 的用户并将他们的签入权限设置为拒绝,但这很痛苦,我不想这样做。同样,一些项目有超过 300 个 git 存储库。
仅供参考,我想让整个项目只读,而不仅仅是 git repos。
我有一个具有多个项目权限的用户(见下图)。
我有一位刚刚加入公司的新用户。我想给他完全相同的权限。我怎样才能做到这一点?我不想手动执行此操作,因为这会花费我很长时间,而且 Google Cloud 文档毫无用处!我找不到太多关于使用gcloud命令行来执行此操作的示例。
一定有一种简单的方法来复制权限吗?
谢谢
我正在尝试使用 Azure DevOps Rest Api 通过 PowerShell 获取 Azure DevOps 中所有项目的列表。
但是,当我运行该脚本时,它不断返回 100 个项目。当我添加延续标记时,它会循环并返回相同的100 个项目 4 次。所以给了我总共 400 个项目。我们目前有 385 个项目。
$Org = "ORGNAME"
$personalToken = "MYTOKEN"
###################################################
Write-Host "Initialize authentication context" -ForegroundColor Yellow
$token =[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($personalToken)"))
$header = @{authorization = "Basic $token"}
$projects = $null
function get_projects {
do
{
$uri="https://dev.azure.com/$Org/_apis/projects?continuationToken=$ContinuationToken&api-version=5.1"
$ProjSets=Invoke-WebRequest -Uri $Uri -Method Get -ContentType "application/json" -Headers $header
$continuationToken = $ProjSets.Headers.'x-ms-continuationtoken'
$ProjectSet=$projset.content | ConvertFrom-Json
$projects+=$ProjectSet.value
} while ($continuationToken)
write-host "$continuationToken" -ForegroundColor Cyan
$projects.name
$projects.count
}
get_projects …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 cli 向“构建管理员”组分配权限。
我要更新的具体权限是“删除团队项目”权限。

由于信息分散,特别是有关安全令牌和权限位的部分,文档整理起来有点困难。
我正在使用 az devops security 命令。我正在努力解决的部分是获取正确的令牌并设置正确的权限位
我知道我想要使用的名称空间。它是环境命名空间。通过首先检查所有命名空间并找到环境命名空间的 guid 来发现这一点。
#get list of all namespaces
az devops security permission namespace list -o table
$envnamespace = <guid from above command for the environment namespace>
Run Code Online (Sandbox Code Playgroud)
# first i set my org and token
$orgUrl = "https://dev.azure.com/<MYORG>"
$personalToken = "<MY_PERSONAL_TOKE>"
$projectName = "<my_project>"
# login using PAT
$personalToken | az devops login --organization $orgUrl
# set default organisation
az devops configure --defaults organization=$orgUrl
# get the …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用WIX创建计划任务.我希望计划任务作为另一个域上的特定用户运行.
我通过属性[Service.User]和[Service.Password]传递给我的用户.
这是我的代码:
<InstallExecuteSequence>
<Custom Action="CreateScheduledTask" After="InstallFiles">NOT Installed</Custom>
<Custom Action="CreateScheduledTaskId" After="CostFinalize">NOT Installed </Custom>
<Custom Action="DeleteScheduledTaskId" After="CostFinalize">Installed</Custom>
<Custom Action="DeleteScheduledTask" Before="RemoveFiles">Installed </Custom>
</InstallExecuteSequence>
<!--Create CcsReturnProcess Scheduled Task-->
<CustomAction Id="CreateScheduledTaskId"
Property="CreateScheduledTask"
Return="check"
Execute="immediate"
Value=""[SystemFolder]SCHTASKS.EXE" /CREATE /SC DAILY /MO 1 /ST 10:00 /TN "CcsReturnProcess" /TR ""[INSTALLFOLDER]CcsReturnProcess.exe"" /RU "[Service.User]" /RP "[Service.Password]" /RL HIGHEST" />
<CustomAction Id="CreateScheduledTask"
Return="check"
Impersonate="no"
Execute="deferred"
BinaryKey="WixCA"
DllEntry="CAQuietExec" />
<!--Delete CcsReturnProcess Scheduled Task-->
<CustomAction Id="DeleteScheduledTaskId"
Property="DeleteScheduledTask"
Return="check"
Execute="immediate"
Value=""[SystemFolder]SCHTASKS.EXE" /DELETE /TN "CcsReturnProcess" /F" />
<CustomAction Id="DeleteScheduledTask"
Return="check"
Impersonate="no"
Execute="deferred"
BinaryKey="WixCA"
DllEntry="CAQuietExec" /> …Run Code Online (Sandbox Code Playgroud) 我们在内部使用TFS 2015.TFS 2015自定义构建任务存储在哪里?或者我如何下载现有的构建任务?
我知道你可以从github下载构建任务.但这不是我要找的.
azure-devops ×4
permissions ×3
ado ×1
gcloud ×1
powershell ×1
readonly ×1
tfs-2015 ×1
tfsbuild ×1
wix ×1