您的位置:首页 > 其它

SharePoint 2013 批量导入、删除帐号

2014-03-31 16:43 246 查看
删除一个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文件里,如下图:





执行步骤:

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





2. 输入A:





3. 输入site url和group id:





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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: