验证八达通部署中是否存在用户

hankey39

我想在使用Powershell脚本的Octopus Deploy中添加一个工作正常的用户。我想验证用户是否已经存在,然后不添加用户。有人可以指出我做错了吗。它说该用户存在,即使该用户不存在。它搜索用户列表以查看该用户是否存在。我正在使用Invoke RestMethod添加用户,并且工作正常。如果在添加之前用户存在,我就会对验证感到困惑。有没有更简单的方法可以做到这一点?

function AddNewUser{
Param(
[string]$OctopusURL,
[string]$APIKey,
[string]$UserName = "New User"
)
$header = @{ "X-Octopus-apiKey" = $APIKey }

Write-Host "Adding user $UserName"
$userList = Invoke-RestMethod "$OctopusURL/api/users?skip=0&take=100000" -Headers $header

foreach ($user in $userList.Items){
    if ($user.UserName -eq $UserName){
        $userId = $user.Id
        return $userId          
    }
}

if ($userId -eq '') {
    Write-Host "No user called `'$UserName`' was found"
        try{
            $newUserResp = Invoke-RestMethod "$OctopusURL/api/users" -Headers $header -Method Post -Body $newUserAsJson -ContentType "application/json"
            return $newUserResp
        } catch {
             Write-Error $_
        }
    } 
else {
    Write-Host "User `'$UserName`' exists"
}

}

瑞安·卢梭
if ($userId -eq '') {

如果未找到现有用户,则$ userId为$ null,因此其值为false。

如果找到了用户,您的foreach循环也会返回,因此该if语句看起来不是必需的。如果到此为止,您可以假定该用户不存在(只要您的用户少于100,000,就可以了)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在八达通部署中,如果上述任何步骤失败,如何运行流程步骤

八达通中的 Powershell 脚本失败

八达通发布版本控制

如何更改八达通的头像?

八达通发布部署加密应用程序设置

八达通部署:在IIS HTTPS绑定上启用SNI?

获取最近6个月内已登录八达通的用户列表

PowerShell Copy-Item在八达通中给出错误

八达通触手在轮询模式下无法连接八达通服务器

八达通部署,我需要部署所有软件包,直到升级到质量检查为止

我如何使用八达通服务器在八达通触手上运行包括 UI 交互的自动化脚本?

为什么此八达通频道规则与此套餐不匹配?

Visual Studio 团队服务 - 代理更新到版本 2 后八达通不起作用

有没有办法验证SVN中是否存在用户名?

使用 SSH 时,是否只有在用户主目录中存在证书时才能阻止密码验证?

使用准备好的语句来验证数据库中是否已经存在用户名...如何?

如何检查Firebase中是否存在用户?

如何检查Linux中是否存在用户(JSch)

如何检查Cloud Firestore中是否存在用户?

如何查找Firebase中是否存在用户?

Symfony检查数据库中是否存在用户

检查 ArrayList 中是否存在用户 ID?

检查MySQL Java中是否存在用户名

检查列表中是否存在用户名,如果不存在则仅创建用户

验证是否存在连接的用户

在JavaScript中检查Firebase数据库中是否存在用户名

在 BLE 中是否需要在用户级别进行数据验证检查?

流星检查用户集中是否存在用户名

验证用户帐户在Azure Active Directory中是否存在