Files
powershell/Function_TK_CreateFolderFromCSV.ps1
2026-02-11 14:24:03 +01:00

65 lines
2.5 KiB
PowerShell

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