【问题标题】:Error on Move-Item moving home area to file serverMove-Item 将主区域移动到文件服务器时出错
【发布时间】:2021-12-02 14:43:45
【问题描述】:

这是我脚本的最后一部分,用于将学生离开区域转移到存档文件服务器。脚本运行并按预期执行所有操作,但仍然抛出错误说 移动项目:找不到路径'\\domain\students$\E-J$\MH201507' because it does not exist. 脚本确实找到了这个路径并移动了主区域,所以我不确定为什么会出现这个错误。或者有什么办法可以解决这个问题,或者以某种方式隐藏错误更容易?

CSV 文档包含 sam 帐户名称的列表,并包含他们在域中的主区域位置,因此它知道从哪里复制路径。

我们将不胜感激任何帮助!亲切的问候

#Declaring the .csv file that contains a list of all leavers home directories.

$HomeDirectoryList = Import-CSV "C:\Scripts\Leavers\HomeDirectoryExport.csv"

$Username = $HomeDirectoryList.samAccountName

$HomeDirectory = $HomeDirectoryList.HomeDirectory

$Archive = "\\myfileserver.ac.uk\D$\21-22 Leavers"

ForEach ($Username in $HomeDirectoryList)
{
    Move-Item -Path $HomeDirectory -Destination $Archive
}

发生错误的示例数据:

samAccountName  HomeDirectory
WB214589    \\domain\students$\A-D$\WB214589
MH201507    \\domain\students$\E-J$\MH201507

【问题讨论】:

  • “脚本确实找到了这条路径并移动了主区域,所以我不确定为什么会出现这个错误。” - 也许您的HomeDirectoryExport.csv 包含重复项?
  • 为了测试它只有两个唯一帐户,CSV 如下所示 samAccountName HomeDirectory WB214589 \\domain\students$\AD$\WB214589 MH201507 \\domain\students$\EJ$\MH201507
  • update your existing question提供样本数据:)
  • 已添加 :) 谢谢,就像我说的代码按预期工作,文件从 A 移动到 B,但由于某种原因仍然出现错误!谢谢

标签: powershell active-directory


【解决方案1】:

您将变量$HomeDirectory 循环之外设置,因此它将包含一个主目录路径数组。

然后您使用变量 $Username 来迭代 CSV 文件中的数据,但在该循环中您从不使用它。

试试:

$HomeDirectoryList = Import-CSV 'C:\Scripts\Leavers\HomeDirectoryExport.csv'
$Archive           = '\\myfileserver.ac.uk\D$\21-22 Leavers'

foreach ($student in $HomeDirectoryList) {
    Write-Host "Moving HomeDirectory folder for student '$($student.samAccountName)'"
    Move-Item -Path $student.HomeDirectory -Destination $Archive -Force
}

如果您需要捕获发生的错误,请将循环更改为:

foreach ($student in $HomeDirectoryList) {
    Write-Host "Moving HomeDirectory folder for student '$($student.samAccountName)'"
    try {
        Move-Item -Path $student.HomeDirectory -Destination $Archive -Force -ErrorAction Stop
    }
    catch {
        Write-Warning "Error moving homedirectory '$($student.HomeDirectory)':`r`n$($_.Exception.Message)"
    }
}

【讨论】:

  • 效果很好,非常感谢!
猜你喜欢
  • 2018-06-06
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 2017-12-24
  • 2014-10-10
  • 1970-01-01
相关资源
最近更新 更多