PnP — 使用 PnP powershell 将声明值添加到 SP 组

PnP — Add a claim value to a SP Group using PnP powershell

我希望找到一个示例,在其中我可以使用 PnP PowerShell 将特定的自定义声明值添加到 SP 组。基本上使用 PnP PowerShell

执行以下操作
$ClaimValue = $_.ClaimValue
if ($_.ClaimType -eq $ClaimTypeSchema.GroupSID)
{
  $objUserAccount = New-Object System.Security.Principal.NTAccount($EnvUserDomain, $_.ClaimValue)
  $objUserSID = $null
  Write-Output ("Generating Security Identifier for account: '" + $_.ClaimValue + "' ...")
  $objUserSID = $objUserAccount.Translate([System.Security.Principal.SecurityIdentifier])
  if ($objUserSID -eq $null)
  {
    continue
  }
  $ClaimValue = $objUserSID.Value
}
Write-Output ("   Adding Claim: '" + $_.ClaimType + "' with Value: '" + $ClaimValue + "' ...")
$Claim = New-SPClaimsPrincipal -ClaimType $_.ClaimType -ClaimValue $ClaimValue -TrustedIdentityTokenIssuer $AuthenticationProvider
$SPUserClaim = New-SPUser -UserAlias $Claim.ToEncodedString() -Web $RootWeb.Url
$SecurityGroup.AddUser($SPUserClaim)}
Write-Output "Completed"

看起来我可以通过使用如下所示的方式对预期格式进行硬编码来摆脱困境

i:0ǵ.t|custom-adfs|First.Last

有关更多编码,请参阅下面的文章 https://social.technet.microsoft.com/wiki/contents/articles/13921.sharepoint-20102013-claims-encoding.aspx

我仍然认为在 PnP 中有一个等价物会很好。

$Claim = New-SPClaimsPrincipal -ClaimType $_.ClaimType -ClaimValue $ClaimValue -TrustedIdentityTokenIssuer $AuthenticationProvider

$SPUserClaim = New-SPUser -UserAlias $Claim.ToEncodedString() -Web $RootWeb.Url