当前位置: 首页 > 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 排序
  • 「译」Node.js Streams 基础
  • 230. Kth Smallest Element in a BST
  • HTTP中GET与POST的区别 99%的错误认识
  • Java编程基础24——递归练习
  • Netty 4.1 源代码学习:线程模型
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Puppeteer:浏览器控制器
  • 大数据与云计算学习:数据分析(二)
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 容器服务kubernetes弹性伸缩高级用法
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用权重正则化较少模型过拟合
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • FaaS 的简单实践
  • MyCAT水平分库
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 如何正确理解,内页权重高于首页?
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十一)c52学习之旅-动态数码管
  • .mysql secret在哪_MYSQL基本操作(上)
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net 流——流的类型体系简单介绍
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET的数据绑定
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • @基于大模型的旅游路线推荐方案
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [100天算法】-二叉树剪枝(day 48)
  • [Android 数据通信] android cmwap接入点
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [C#]OpenCvSharp使用帧差法或者三帧差法检测移动物体
  • [Labtools 27-1429] XML parser encountered a problem in file
  • [Linux]进程信号(信号入门 | 信号产生的方式 | 信号捕捉初识)