【问题标题】:Creating folders with powershell from CSV从 CSV 使用 powershell 创建文件夹
【发布时间】:2019-05-14 14:27:28
【问题描述】:

您好,我有以下 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 的子 test 文件夹,它不使用电子表格的 samAccountName,它只是创建“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 的问题,因为这将解决它。电子表格本身并没有损坏,因为我使用了创建广告用户脚本

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我已经生成了一个测试 csv 文件并尝试从中创建一个新文件夹,它成功了:

    @'
    col1;samAccountName
    value1;mynewfolder
    '@ | Out-File text.csv
    
    Import-Csv text.csv ';' | %{New-Item -Path ("C:\Users\bhabib\test\" + $_."samAccountName") -Type Directory -Force}
    

    【讨论】:

    • 嗨,Benoit,这很奇怪,因为我刚刚运行它并再次创建了测试,但没有创建带有 samAccountName 的文件夹,它似乎是从“\bhabib\test\”获取名称
    • 我相信您应该已经检查过了,但是您的 csv 文件是否正确导入?如果你只执行Import-Csv "C:\Users\bhabib\source\repos\TSS---New-Starter-automation-master\adusers.csv" ';' | %{$_."samAccountName"},你会得到所有你想要的文件夹名称吗?
    • 嗨,Benoit,我只运行了导入行,但我没有得到任何输出,但是我创建用户的活动目录脚本在相同的 csv 下工作正常
    • 我认为问题出在-path,如果我手动设置名称,那么它仍然会抛出上面的异常
    • 我已经设法通过将它与我的用户脚本相结合来使它工作,现在似乎可以工作了,我已经开始在网络共享上创建文件夹,但它说路径是非法的
    猜你喜欢
    • 2016-11-21
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    相关资源
    最近更新 更多