Создание папок с PowerShell из CSV - PullRequest
0 голосов
/ 14 мая 2019

Привет У меня есть следующий скрипт powershell для создания папок с именами папок из значения samAccountName в электронной таблице. Я столкнулся с камнем преткновения с этим

Я разделил переменные, чтобы облегчить разработку

Import-Csv "C:\Users\bhabib\source\repos\TSS---New-Starter-automation-master\adusers.csv" ';' | ForEach-Object {
$upn = $_.SamAccountName + “@domain.com” 
        $test = $_."samAccountName"
        $folder = "C:\Users\bhabib\test"+$test
        $path = $folder 
        New-Item -Path $folder -Type Directory 
}

На самом деле это создает дочернюю тестовую папку в bhabib с именем test, она не принимает samAccountName для электронной таблицы, она просто создает «test». Также, если я снова запускаю скрипт, это вызывает исключение, потому что он снова создает «test», а не samAccountName. Вот исключение

New-Item : An item with the specified name C:\Users\bhabib\test already exists.
At C:\Users\bhabib\source\repos\TSS---New-Starter-automation-master\folder creation.ps1:6 char:9
+         New-Item -Path $folder -Type Directory
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceExists: (C:\Users\bhabib\test:String) [New-Item], IOException
    + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand

У меня вопрос, как мне решить проблему, когда он не берет samAccountName из электронной таблицы, потому что это исправит это. Сама электронная таблица не повреждена, потому что она работает со скриптом создания пользователей рекламы

1 Ответ

0 голосов
/ 14 мая 2019

Я сгенерировал тестовый CSV-файл и попытался создать из него новую папку, все заработало:

@'
col1;samAccountName
value1;mynewfolder
'@ | Out-File text.csv

Import-Csv text.csv ';' | %{New-Item -Path ("C:\Users\bhabib\test\" + $_."samAccountName") -Type Directory -Force}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...