powershell - Powershell 从网络共享复制所有子文件夹
问题描述
在谷歌页面 #3 之后我放弃了。
我想将网络共享的所有子目录复制到另一台服务器上。基本上我正在从 QNAP(我知道它是一个 linux 操作系统)到 Windows Server 2016 进行“主文件夹”迁移
$newPath = "D:\Shares"
$dir = Get-ChildItem -Path "\\srv-nas1" -Directory | ?{$_.PSISContainer}
$exceptions = @("some", "folder", "exceptions", "nothing", "important")
$errors = ""
foreach ($d in $dir){
$d.Name
Try{
if(-not ($exceptions -contains $d.Name)){
$dirData = $d.FullName
$adUsername = "DOMAIN\"+$d.Name
$newSharePath = $newPath + "\" + $d.Name
$newShareName = $d.Name + "$"
"[!]Initialized migration for: " + $adUserName
$Acl = Get-Acl $dirData
$AdminAr = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\admin", "FullControl","ContainerInherit, ObjectInherit","None","Allow")
$UsrAr = New-Object System.Security.AccessControl.FileSystemAccessRule($adUsername, "FullControl","ContainerInherit, ObjectInherit","None","Allow")
$Acl.SetAccessRule($AdminAr)
$Acl.SetAccessRule($UsrAr)
Copy-Item -Path $dirData -Destination $newPath -recurse -Force
New-SmbShare -Name $newShareName –Path $newSharePath -FullAccess "DOMAIN\admin", $adUsername
Set-Acl $newSharePath $Acl
"[+]" + $adUsername + " successfully migrated"
exit 1
}
}Catch{
"[-]ERROR WTH USER: " + "DOMAIN\"+$d.Name
$_.Exception
$ErrorMessage = $_.Exception.Message
$FailedItem = $_.Exception.ItemName
$errors += 'ErrorMessage ' + $ErrorMessage + " FailedItem " + $FailedItem + " User " + $adUsername + " `n"
}
}
$errors
显然,当我运行代码时,找不到 NAS 的路径。我知道可能存在冲突,因为它是 linux 并且由于我正在浏览共享的根路径。我也试着模仿它
foreach($Share in Get-WmiObject Win32_Share){
Get-ChildItem "\\$($Share.__SERVER)\$($Share.Name)"
}
但它是Linux,所以它显然不起作用。我有机会让它工作吗?
解决方案
推荐阅读
- powershell - 由于超过 255 个字符的深度,无法获得最大文件的总和?
- graphql - Graphql Shopify | 使用元字段查询文章
- python - 从重定向的 URL 下载 PDF 到本地存储
- node.js - Typescript:在 Docker Container 中找不到模块 XWZ 或其相应的类型声明
- c# - 我怎样才能知道图标是否相同?
- php - MySQL为每个键插入不重复的多个值
- kotlin - IntelliJ IDEA 没有找到 kotlinOptions 属性的候选者,但项目工作正常
- mysql - 请帮忙——mysql查询问题
- grafana - Telegraf & InfluxDB:如何将 PROCSTAT 的 pid 从字段转换为标记?
- java - 在类中使用函数不断返回 NullPointerException 错误 - Java