Function TK_CreateFolderFromCSV { <# .SYNOPSIS TK_CreateFolderFromCSV .DESCRIPTION Create user folders from CSV file Example CSV user,password,realname homer,Password!,Homer Simpson bart,Password!,Bart Simpson .PARAMETER CSVFile Full path to the CSV file eg. C:\Temp\userlist.csv .PARAMETER TargetPath Root path for folder creation eg. C:\Users .EXAMPLE TK_CreateFolderFromCSV -CSVFile "C:\Temp\userlist.csv" - TargetPath "C:\Users" .LINK https://github.com/thomaskrampe/PowerShell/blob/master/User%20Profiles/TK_CreateUserFolderFromCSV.ps1 .NOTES Author : Thomas Krampe | thomas.krampe@myctx.net Version : 1.0 Creation date : 21.02.2019 | v0.1 | Initial script Last change : 21.02.2019 | v1.0 | Add script documentation IMPORTANT NOTICE ---------------- THIS SCRIPT IS PROVIDED "AS IS" WITHOUT WARANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. THOMAS KRAMPE, SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN, NOT FOR DIRECT, INCIDENTIAL, CONSEQUENTIAL OR ANY OTHER DAMAGES RESULTING FROM FURNISHING, PERFORMANCE, OR USE OF THIS SCRIPT, EVEN IF THOMAS KRAMPE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE. #> [CmdletBinding()] Param( [Parameter(Mandatory=$true)][String]$CSVFile, [Parameter(Mandatory=$true)][String]$TargetPath ) begin { } process { $CSVSource = Import-CSV -Path $CSVFile -Delimiter "," foreach ($CSVObject in $CSVSource) { $CreateFolder = $TargetPath + "\" + $($CSVObject.User) Write-Verbose "Creating folder $CreateFolder." New-Item -ItemType directory -Path $CreateFolder | Out-Null if ( $(Try { Test-Path $CreateFolder.trim() } Catch { $false }) ) { Write-Verbose "Folder $CreateFolder created successful." } Else { Write-Error "Creating folder $CreateFolder failed." -targetobject $_ -Category WriteError -RecommendedAction "Maybe missing permissions." } } } end { } } #EndFunction TK_CreateFolderFromCSV