当前位置: 首页 > news >正文

SharePoint自动化系列——Create a local user and add to SharePoint

转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/

实现过程:在本地创建一个local user并将该user添加到Administrators组中,然后在SharePoint指定site中添加该user,并赋予Full Control的权限。

脚本如下: 

function AddUserToSPSite
{
    param($siteUrl,$userName,$pwd,$fullName,$dspt)
    #Create a local user and add to a local group.
    try{
        $computer = [ADSI]"WinNT://$Env:COMPUTERNAME,Computer"
        $user = $Computer.Create("User", $userName)
        $user.SetPassword($pwd)
        $user.SetInfo()
        $user.FullName = $fullName
        $user.Description = $dspt
        # ADS_UF_PASSWD_CANT_CHANGE + ADS_UF_DONT_EXPIRE_PASSWD
        $user.UserFlags = 64 + 65536 
        $user.SetInfo()
        $group = [ADSI]"WinNT://./Administrators,group"
        $group.Add("WinNT://$userName,user")
    }catch
    {
        Write-Warning "User exists in local, no need to create new."
    }
    #Add the new created local user to a SharePoint site.
    if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) 
    {
        Add-PSSnapin "Microsoft.SharePoint.PowerShell"
    }
    $site = Get-SPSite $siteUrl
    $web = $site.rootWeb
    $SPUserName = $env:COMPUTERNAME+"\"+$userName
    $user = New-SPUser -UserAlias $SPUserName -DisplayName $userName -Web $web
    Set-SPUser -Identity $user -Web $web -AddPermissionLevel "Full Control"
}
AddUserToSPSite -siteUrl "http://xxx" -userName "xxx" -pwd "xxx" -fullName "xxx" -dspt "xxx"

如果本地已经存在欲添加的user以及成功添加user到SharePoint站点均会有提示:

相关文章:

  • iOS 轻量级的数据库leveldb
  • 混合的方式开启服务
  • JSDOM对象控制HTML元素
  • NSObject
  • android 环境搭建
  • AJAX 跨域请求 - JSONP获取JSON数据 jsson和jsonp
  • 点击失去焦点的文字
  • mac 终端 常用命令
  • HP ProLiant DL380 G6 服务器 - 清 BIOS 的方法
  • Mysql isam数据库恢复实战
  • A*寻路算法的探寻与改良(二)
  • 让透明div里的文字不透明
  • [原创]好买财富测试环境自动化发布部署系统实践
  • pptpd *** 老是连接不上内网排错
  • stl之map 排序
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CentOS7简单部署NFS
  • centos安装java运行环境jdk+tomcat
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • maven工程打包jar以及java jar命令的classpath使用
  • PermissionScope Swift4 兼容问题
  • Spring-boot 启动时碰到的错误
  • tweak 支持第三方库
  • 阿里云前端周刊 - 第 26 期
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 容器服务kubernetes弹性伸缩高级用法
  • 为视图添加丝滑的水波纹
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • hi-nginx-1.3.4编译安装
  • ​卜东波研究员:高观点下的少儿计算思维
  • #FPGA(基础知识)
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (6)设计一个TimeMap
  • (arch)linux 转换文件编码格式
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二)c52学习之旅-简单了解单片机
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • .net 4.0发布后不能正常显示图片问题
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net打印*三角形
  • .NET的微型Web框架 Nancy
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .sh
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @hook扩展分析
  • @ModelAttribute注解使用
  • @property括号内属性讲解
  • @开发者,一文搞懂什么是 C# 计时器!
  • [].slice.call()将类数组转化为真正的数组
  • [AIGC] Java 和 Kotlin 的区别