• SharePoint 2013 批量导入、删除帐号


    删除一个group里所有的帐号:

    cls
    ########################### 
    # "Enter the site URL here" 
    $SITEURL = "http://xxx/IT"
    
    # "Name of Site group from which users have to be removed" 
    $SITEGROUP = "Portal Information Technology Visitors"
    
    ###########################
    
    $site = new-object Microsoft.SharePoint.SPSite ( $SITEURL ) 
    $web = $site.OpenWeb() 
    "Web is : " + $web.Title
    
    $oSiteGroup = $web.SiteGroups[$SITEGROUP];
    
    "Site Group is :" + $oSiteGroup.Name 
    $oUsers = $oSiteGroup.Users
    
    foreach ($oUser in $oUsers) 
    { 
        "Removing user : " + $oUser.Name 
        $oSiteGroup.RemoveUser($oUser) 
    }
    
    ######################################################################################################

    批量导入帐号:

    ###########################################################################################
    # 
    # Title: Add-SPUser_Group.ps1
    #
    # Description: Adds a group of users to a SharePoint group via an answer file
    #
    # URL: http://techchucker.wordpress.com/2013/09/17/addbulkspusergroups/
    #
    # Author: Matt Anderson
    # Created: 9-13-2013
    #
    ##########################################################################################
    
    #Region Action Function
    #Action taken via user input based on menu option chosen
    Function Action ($result)
    {    
        if ($result -eq "A")
        {
            AnswerCreate
        }
        if ($result -eq "B")
        {
    
        }
        if ($result -eq "?")
        {
            clear
            #Opens Default Internet browser and navigates to the below site that holds the instructions for this program
            Start-Process -FilePath "http://techchucker.wordpress.com/2013/09/17/addbulkspusergroups/"
        }
    }
    #endRegion
    
    #Region PressKey Function
    
    #User must enter any key to continue
    Function PressKey
    {
        Write-Host "Press any key to continue..." -ForegroundColor Black -BackgroundColor White
        
        $x = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp,AllowCtrlC")
        
        return clear
    }
    #endRegion
    
    #Region WebInput Function
    #Function to request web input from user
    Function WebInput
    {
        $inpWeb = Read-Host "Enter the URL of the site to add users to a group"
        
        return $inpWeb
    }
    #endRegion
    
    #Region GroupInput Function
    #Function to request SharePoint Group input from user
    Function GroupInput
    {
        $inpGroup = Read-Host "Enter the SharePoint Group ID to add users to"
        
        return $inpGroup
    }
    #endRegion
    
    #Region AnswerCeate Function
    
    #Function to take answer file and add multiple users to SharePoint Group
    Function AnswerCreate
    {
        clear
        
        #Imports user inputted answer file
        $userList = Import-Csv ($answerFile = Read-Host "Enter path to Answer File (e.g. c:filename.csv)")
        $web = WebInput
        $group = GroupInput
        
        Write-Output $userList
        PressKey
        
        #Iterates through each record storing variables and executing user add
        ForEach ($user in $userList)
        {
            $validateUser = $null
            $LANID = $user."LANID"
            
            $validateUser = Get-SPUser -Identity $LANID -Web $web -ErrorAction SilentlyContinue #This will throw an error if the user does not exist
                    
            if($validateUser -eq $null)
            {
                Write-Host $LANID "does not exist"
                New-SPUser -UserAlias $LANID -Web $web -group $group
                Write-Host $LANID "created and added to " $group
            }
            else
            {
                #Adds user/s to the SharePoint group
                Set-SPUser -Identity $LANID -Web $web -Group $group    
                Write-Host $LANID "has been added to "$group    
            }
        }    
    }
    #endRegion
    
    #Region Menu Function
    
    #Function to display the menu for the program
    Function Menu
    {
        Write-Host "Add Users to SP Groups in Bulk`n`n" -ForegroundColor Black -BackgroundColor White
        Write-Host "Choose the action you would like to perform shown below.`n`n"
        
        Write-Host "    A    -    Add users in bulk using Answer File`n"
        Write-Host "    ?    -    Program Help`n"
        Write-Host "    Exit    Exits this program`n`n"
    }
    #endRegion
    
    #Region Program Actions
    $ErrorActionPreference="SilentlyContinue"
    Stop-Transcript | out-null
    $ErrorActionPreference = "Continue"
    
    $logPath = Read-Host "Enter log path (c:Logs)"
    $date = Get-Date -UFormat %y%m%d.%H.%M.%S
    $logFile = "" + $date + "_AddUserGroup.txt"
    
    Start-Transcript -path $logPath$logFile -append
    
    do
    {
        clear
        Menu
        $result = Read-Host "Enter your selection"
        if($result -ne "exit")
        {
            Action $result
            #Write-Host "Would you like to return to the main menu?`n`n"
            #$confirm = Confirm ($inp = Read-Host "Enter Y or N")
            $confirm = $True
        }
        else
        {
            $confirm = $false
        }
    }
    while($confirm -eq $True)
    
    Stop-Transcript
    #endRegion

    帐号放到一个csv文件里,如下图:

    image

    执行步骤:

    1. 运行上面的ps1脚本,输入log的path:

    image

    2. 输入A:

    image

    3. 输入site url和group id:

    image

    4. 输入帐号列表的csv文件:

    image

  • 相关阅读:
    转来的:Diablo中的七大套装背景
    我的单元测试认识之路(下)
    《You can do it!》的chapter 2笔记
    一个枚举的简单应用
    仿百度的搜索下拉提示
    简单的 菜单当前选中 解决思路
    单元测试框架NUnit 之 Attributes特性(一)
    单元测试框架NUnit 之 constraints 约束
    分享个自己的ajax封装
    开源单元测试工具 Nunit
  • 原文地址:https://www.cnblogs.com/fengwenit/p/3636117.html
Copyright © 2020-2023  润新知