使用powershell将用户添加到组中

时间:2016-02-29 22:00:06

标签: powershell sharepoint sharepoint-2013

我有两个用于Web应用程序的区域。一个是使用Windows身份验证的默认区域,另一个是使用基于声明的提供程序进行身份验证的Intranet区域。

我想使用powershell将用户添加到组中。现在在默认区域中,我可以轻松地执行此操作,因为它可以正确解析它,但在我尝试添加Intranet身份验证提供程序Azure AD中的用户时却不能。

我正在使用这个powershell

$Users = "test@testcorp.onmicrosoft.com"
$siteCollUrl = "https://test/sites/test"
$group = "powershellcreated"
$web = Get-SPWeb -identity $siteCollUrl
    $web.EnsureUser($User)  
    Set-SPUser -Identity $User -Web $siteCollUrl -Group $group  

我收到的错误是它无法解析用户,因为它正在查看默认区域。

有人可以告诉我如何使用powershell将用户添加到具有不同身份验证提供程序的两个不同区域。

https://test/sites/test”是具有azure广告身份验证的Intranet “http://test/sites/test”是Windows身份验证的默认设置 感谢

1 个答案:

答案 0 :(得分:0)

本文将解释当您尝试添加Azude AD用户时它无效的原因:

https://samlman.wordpress.com/2015/03/02/what-you-need-to-know-about-using-ensureuser-in-claims-based-web-apps-in-sharepoint-2010-and-sharepoint-2013/

你只需要像我说的那样指定声明,它应该可以正常工作。

摘自文章:

if ( inputStr.length <= 25 && /^(?:[\w]+?\/)?[\w]+?@[\w]+?\.[\w]+?$/.test( inputStr ) )
{
  //your logic
}