SharePoint 2013 批量导入、删除帐号

时间:2023-03-09 07:44:42
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文件里,如下图:

SharePoint 2013 批量导入、删除帐号

执行步骤:

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

SharePoint 2013 批量导入、删除帐号

2. 输入A:

SharePoint 2013 批量导入、删除帐号

3. 输入site url和group id:

SharePoint 2013 批量导入、删除帐号

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

SharePoint 2013 批量导入、删除帐号