To execute it, open a PowerShell prompt, register the script and run it as show below.
enum SPVersion
{
SP2010
SP2013
SP2016
SP2019
SPOnline
}
Function LoadAssemblies {
Param(
[Parameter(Mandatory=$true)]
[SPVersion]$spVersion
)
$SP2010ClientDllPath = "C:\Program Files\Common Files\microsoft shared\SharePoint Client"
$SP2013ClientDllPath = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI"
$SP2016ClientDllPath = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI"
$SP2019ClientDllPath = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI"
$SPOnlineClientDllPath = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI"
$clientDllPath = "Microsoft.SharePoint.Client.dll"
$clientRuntimeDllPath = "Microsoft.SharePoint.Client.Runtime.dll"
switch ($spVersion) {
SP2010 {
$clientDllPath = $SP2010ClientDllPath + "\" + $clientDllPath
$clientRuntimeDllPath = $SP2010ClientDllPath + "\" + $clientRuntimeDllPath
break;
}
SP2013 {
$clientDllPath = $SP2013ClientDllPath + "\" + $clientDllPath
$clientRuntimeDllPath = $SP2013ClientDllPath + "\" + $clientRuntimeDllPath
break;
}
SP2016 {
$clientDllPath = $SP2016ClientDllPath + "\" + $clientDllPath
$clientRuntimeDllPath = $SP2016ClientDllPath + "\" + $clientRuntimeDllPath
break;
}
SP2019 {
$clientDllPath = $SP2019ClientDllPath + "\" + $clientDllPath
$clientRuntimeDllPath = $SP2019ClientDllPath + "\" + $clientRuntimeDllPath
break;
}
SPOnline {
$clientDllPath = $SPOnlineClientDllPath + "\" + $clientDllPath
$clientRuntimeDllPath = $SPOnlineClientDllPath + "\" + $clientRuntimeDllPath
break;
}
}
$client = [System.Reflection.Assembly]::LoadFile($clientDllPath)
$clientRuntime = [System.Reflection.Assembly]::LoadFile($clientRuntimeDllPath)
if( !$client -or !$clientRuntime ){
throw "Could not load Microsoft.SharePoint.Client.dll or Microsoft.SharePoint.Client.Runtime.dll"
}
}
Function CreateSiteLists {
Param(
[Microsoft.SharePoint.Client.Web][Parameter(Mandatory=$true)]$parentWeb,
[int][ValidateRange(1, 1000)][Parameter(Mandatory=$true)]$noOfLists
)
$words = @('Ants','Areas','Armys','Aunts','Babys','Backs','Balloons','Bands','Banks','Bases','Baths','Beads','Beams','Bears','Beds','Beefs','Beers','Bells','Bikes','Birds','Boats','Bodys','Bombs','Bones','Books','Boots','Boss','Bowls','Boys','Bulbs','Burns','Camps','Cards','Cars','Carts','Caves','Cells','Cents','Citys','Coals','Coils','Combs','Cooks','Cords','Corks','Cribs','Crows','Datas','Debts','Deers','Desks','Dirts','Disks','Docks','Dogs','Dolls','Drops','Drums','Dungs','Dusts','Ears','Edges','Eggs','Exams','Eyes','Faces','Facts','Falls','Fangs','Fears','Films','Fires','Folds','Foods','Foots','Forks','Forms','Frogs','Games','Gates','Genes','Girls','Glues','Goals','Goats','Golds','Hairs','Halls','Hands','Heads','Heats','Hills','Hopes','Hoses','Ideas','Irons','Jails','Jokes','Junks','Kicks','Kings','Knots','Ladys','Lakes','Leads','Lines','Lists','Loafs','Locks','Looks','Loss','Loves','Maids','Malls','Marks','Mass','Maths','Mazes','Meals','Meats','Menus','Mices','Milks','Mines','Mints','Mists','Modes','Moods','Moons','Nails','Navys','Necks','Nests','News','Noses','Notes','Ovens','Pails','Parks','Parts','Pears','Pests','Pets','Poems','Poets','Pushs','Rails','Rains','Rates','Rests','Rices','Rings','Roads','Rocks','Roles','Roofs','Rooms','Roots','Ropes','Roses','Rules','Sails','Salts','Sands','Seats','Ships','Shops','Shows','Sides','Signs','Silks','Sinks','Sizes','Soaps','Socks','Sofas','Songs','Soups','Spots','Stars','Stops','Swims','Tails','Tales','Talks','Tents','Times','Towns','Toys','Trays','Trips','Turns','Units','Users','Veins','Vests','Views','Walks','Washs','Waves','Weeks','Whips','Wifes','Wines','Wings','Wires','Woods','Wools','Works','Worms','Yards','Yarns','Years','Yokes','Zincs','Actors','Adults','Alarms','Albums','Alleys','Angers','Apples','Badges','Basis','Beasts','Bells','Berrys','Bibles','Bikes','Birds','Births','Blades','Bloods','Boards','Bonus','Brains','Brass','Breads','Bricks','Brushs','Bursts','Buyers','Chains','Chairs','Chalks','Cheeks','Chess','Chests','Chiefs','Childs','Class','Clocks','Clowns','Coachs','Coasts','Colors','Comets','Coughs','Covers','Cracks','Crates','Creams','Crimes','Crushs','Curves','Cycles','Deaths','Depths','Drains','Dramas','Dress','Drills','Drinks','Earths','Entrys','Errors','Events','Feasts','Fifths','Flames','Fleshs','Flocks','Floors','Forces','Frogs','Fruits','Geeses','Gloves','Gooses','Grades','Grapes','Guests','Hands','Hearts','Honeys','Horses','Hotels','Houses','Humors','Jellys','Jewels','Judges','Juices','Kittys','Knifes','Laughs','Levels','Lights','Limits','Linens','Lunchs','Magics','Matchs','Medias','Moneys','Months','Mouths','Movies','Musics','Nerves','Nights','Noises','Norths','Offers','Onions','Orders','Owners','Paints','Pants','Papers','Partys','Pastes','Peaces','Phones','Photos','Pianos','Pizzas','Planes','Points','Powers','Prices','Prints','Proses','Queens','Quiets','Quills','Quilts','Radars','Ratios','Rifles','Rings','Rivers','Robins','Robots','Salads','Scales','Scenes','Scents','Screws','Senses','Shades','Shakes','Shames','Shapes','Sheeps','Shelfs','Shirts','Shocks','Shoes','Skates','Skills','Skirts','Slaves','Sleets','Slopes','Smashs','Smells','Smiles','Snails','Solids','Songs','Spaces','Spades','Sparks','Spices','Spoons','Starts','Steaks','Steels','Sticks','Stones','Storys','Stoves','Straws','Swings','Swords','Tables','Tastes','Teeths','Things','Tigers','Titles','Tooths','Topics','Torchs','Touchs','Trains','Trees','Tricks','Truths','Twists','Uncles','Unions','Values','Verses','Videos','Virus','Voices','Watchs','Waters','Waves','Womans','Womens','Worlds','Youths','Actions','Advices','Affairs','Agencys','Amounts','Animals','Apples','Aspects','Attacks','Bananas','Baskets','Beggars','Beliefs','Bottles','Breaths','Bridges','Bubbles','Buckets','Buttons','Cameras','Cancers','Canvas','Carpets','Carrots','Cellars','Chairs','Chances','Cheeses','Cherrys','Chisels','Churchs','Circles','Circus','Clients','Coffees','Collars','Cookies','Coppers','Countys','Cousins','Crayons','Dealers','Degrees','Desires','Details','Devices','Dinners','Doctors','Donkeys','Drawers','Drivers','Editors','Effects','Efforts','Eggnogs','Energys','Engines','Erasers','Estates','Extents','Familys','Farmers','Fathers','Faucets','Fingers','Flights','Flowers','Fungus','Gardens','Gloves','Grapes','Growths','Guitars','Hammers','Harbors','Healths','Heights','Horses','Houses','Icicles','Incomes','Injurys','Insects','Kettles','Kittens','Ladders','Lawyers','Leaders','Lengths','Liquids','Lockets','Lumbers','Magnets','Marbles','Members','Memorys','Meteors','Methods','Middles','Minutes','Moments','Monkeys','Mothers','Nations','Natures','Needles','Numbers','Offices','Oranges','Parcels','Parents','Pebbles','Peoples','Peppers','Persons','Pillows','Planets','Players','Ploughs','Pockets','Poetrys','Polices','Policys','Porters','Potatos','Prisons','Profits','Quinces','Quivers','Rabbits','Reasons','Recess','Recipes','Records','Regions','Rockets','Saddles','Safetys','Samples','Schools','Sectors','Series','Showers','Singers','Sisters','Snails','Snakes','Sneezes','Speechs','Spheres','Spirals','Sponges','Springs','Squares','Sticks','Stitchs','Streams','Streets','Strings','Studios','Systems','Tempers','Tennis','Thanks','Theorys','Threads','Thrills','Throats','Tickets','Toilets','Tongues','Tunnels','Vacuums','Vessels','Volumes','Wealths','Weapons','Windows','Winners','Winters','Workers','Writers','Zephyrs','Zippers','Abilitys','Accounts','Airports','Alcohols','Analysts','Anxietys','Arrivals','Articles','Artisans','Attempts','Balances','Balloons','Bathtubs','Bedrooms','Believes','Cabbages','Cabinets','Captions','Chapters','Charitys','Chickens','Climates','Clothes','Colleges','Compass','Concepts','Contexts','Controls','Countrys','Courages','Crackers','Creators','Crystals','Currents','Diamonds','Diseases','Disgusts','Drawings','Drivings','Emotions','Examples','Failures','Fairies','Feathers','Feelings','Findings','Firemans','Fishings','Fortunes','Freedoms','Freeways','Funerals','Garbages','Grocerys','Haircuts','Harmonys','Hearings','Highways','Historys','Housings','Hydrants','Journeys','Kitchens','Kittens','Ladybugs','Lettuces','Librarys','Lizards','Mailboxs','Managers','Meanings','Measures','Messages','Mixtures','Monsters','Mornings','Opinions','Oranges','Outcomes','Pancakes','Partners','Passions','Payments','Penaltys','Perfumes','Physics','Popcorns','Printers','Problems','Process','Products','Pyramids','Qualitys','Quarters','Rainbows','Readings','Realitys','Revenues','Sciences','Servants','Sessions','Settings','Sisters','Societys','Speakers','Stomachs','Storages','Students','Success','Supports','Surgerys','Sweaters','Teachers','Tensions','Textures','Thoughts','Torpedos','Trainers','Troubles','Vampires','Varietys','Vehicles','Versions','Villages','Visitors','Volcanos','Vultures','Warnings','Weathers','Weddings','Whistles','Writings','Accidents','Achievers','Activitys','Additions','Airforces','Alphabets','Ambitions','Analysis','Arguments','Attitudes','Audiences','Backpacks','Barbecues','Baseballs','Bathrooms','Behaviors','Birthdays','Boundarys','Business','Calendars','Car-Races','Carriages','Categorys','Cemeterys','Cherries','Chickens','Childrens','Computers','Contracts','Creatures','Currencys','Customers','Databases','Decisions','Deliverys','Directors','Disasters','Distances','Divisions','Downtowns','Elections','Elephants','Elevators','Emphasis','Employees','Employers','Exchanges','Feedbacks','Festivals','Footballs','Frictions','Gemstones','Good-Byes','Governors','Guidances','Homeworks','Hospitals','Increases','Industrys','Instances','Internets','Judgments','Languages','Learnings','Locations','Magazines','Marriages','Medicines','Midnights','Ministers','Mosquitos','Mountains','Necklaces','Notebooks','Ornaments','Paintings','Passports','Patiences','Pendulums','Platforms','Pleasures','Politics','Positions','Presences','Prioritys','Propertys','Proposals','Quantitys','Questions','Reactions','Relations','Republics','Resources','Responses','Sandwichs','Seashores','Securitys','Shoppings','Sidewalks','Skeletons','Softwares','Solutions','Spectrums','Squirrels','Stockings','Strangers','Strategys','Surprises','Surveyors','Sympathys','Tapestrys','Teachings','Triangles','Trousers','Umbrellas','Vacations','Weakness','Aeroplanes','Aftermaths','Afternoons','Agreements','Amusements','Apartments','Apparatus','Appliances','Assistants','Attentions','Authoritys','Awareness','Boyfriends','Butterflys','Candidates','Chemistrys','Childhoods','Chocolates','Cigarettes','Classrooms','Committees','Communitys','Complaints','Conditions','Confusions','Criticisms','Data Bases','Departures','Digestions','Directions','Discoverys','Economics','Educations','Equipments','Expansions','Explosives','Historians','Horoscopes','Ice-Creams','Inflations','Inspectors','Insurances','Intentions','Jellyfishs','Knowledges','Lunchrooms','Marketings','Milkshakes','Newspapers','Operations','Parachutes','Passengers','Pollutions','Presidents','Procedures','Professors','Promotions','Quicksands','Receptions','Recordings','Sandpapers','Satellites','Secretarys','Selections','Signatures','Situations','Staircases','Statements','Structures','Substances','Telescopes','Territorys','Traditions','Treadmills','Variations','Vegetables','Videotapes','Appearances','Arithmetics','Assignments','Assistances','Assumptions','Atmospheres','Basketballs','Cappuccinos','Chocolates','Collections','Comparisons','Conclusions','Connections','Definitions','Departments','Depressions','Differences','Difficultys','Discussions','Earthquakes','Efficiencys','Employments','Enthusiasms','Excitements','Expressions','Floodlights','Foundations','Friendships','Girlfriends','Governments','Hieroglyphs','Importances','Impressions','Indications','Initiatives','Inspections','Instruments','Investments','Leaderships','Literatures','Managements','Memberships','Microscopes','Money $$$$s','Obligations','Paintbrushs','Percentages','Perceptions','Permissions','Philosophys','Populations','Possessions','Preferences','Professions','Protections','Psychologys','Punishments','Reflections','Reputations','Resolutions','Restaurants','Revolutions','Sports-Cars','Spot Lights','Suggestions')
Write-Host "Number of lists to create on site $($parentWeb.Url): $noOfLists"
for ($l = 0; $l -lt $noOfLists; $l++) {
$listTitle = $words[$l]
$lci = New-Object Microsoft.SharePoint.Client.ListCreationInformation
$lci.Title = $listTitle
$lci.TemplateType = "100"
$list = $parentWeb.Lists.Add($lci)
$list.Update()
try
{
$parentWeb.Context.ExecuteQuery()
Write-Host "$($l) - List with title $($listTitle) created in site $($parentWeb.Url)"
}
catch
{
Write-Host "$($l) - FAILED: List with title $($listTitle) created in site $($parentWeb.Url)"
}
}
}
Function CreateLists {
Param(
[SPVersion][Parameter(Mandatory=$true)]$spVersion,
[string][Parameter(Mandatory=$true)]$siteUrl,
[string][Parameter(Mandatory=$true)]$username,
[string][Parameter(Mandatory=$true)]$password,
[string][Parameter(Mandatory=$true)]$domain,
[int][ValidateRange(1, 1000)][Parameter(Mandatory=$true)]$noOfLists)
Write-Host "Running..."
LoadAssemblies $spVersion
$creds = $null;
$secPass = ConvertTo-SecureString $password -AsPlainText -Force
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
if ($spVersion -ne [SPVersion]::SPOnline) {
$creds = New-Object System.Net.NetworkCredential($userName,$secPass,$domain)
$ctx.AuthenticationMode = [Microsoft.SharePoint.Client.ClientAuthenticationMode]::Default
}
else {
$creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials("$($username)@$($domain)", $secPass)
}
$ctx.Credentials = $creds
$ctx.Load($ctx.Web)
try {
$ctx.ExecuteQuery()
}
catch {
throw $_.Exception
return
}
Write-Host "Running..."
CreateSiteLists -parentWeb $ctx.Web -noOfLists $noOfLists
}