首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按文件移动AD组

按文件移动AD组
EN

Stack Overflow用户
提问于 2018-12-16 10:43:05
回答 2查看 236关注 0票数 1

我是新来的PS和我的第一步。

我有一个名为"C:\temp\used_groups.csv"的文件。

该文件具有由Powershell脚本填充的AD组的电子邮件地址,以检查在365中使用的发行版组。

现在我想把他们转移到不同的OU。

该文件有一些AD组的电子邮件地址如下:

代码语言:javascript
复制
"RecipientAddress"
"test@test.com"
"test1@test.com"
"test2@test.com"
  1. 是否可以仅通过其电子邮件地址属性移动AD组?
  2. 如何通过组的电子邮件地址属性解析组的sAMAccountName属性?

这就是我尝试但没有成功的地方:

代码语言:javascript
复制
 $Groups=import-csv "C:\temp\used_groups.csv"
 ForEach ($Group in $Groups){ 
    Get-ADGroup -Filter "mail -like $Group "
    # rest of script.. not done yet. 
 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-16 11:34:59

我会这样做:

代码语言:javascript
复制
# put the DistinghuishedName of the destination OU here
$destinationOU = "OU=Test,DC=Fabrikam,DC=COM"

# read the CSV and grab the 'RecipientAddress' fields in an array
$emailAddresses = (Import-Csv "C:\temp\used_groups.csv").RecipientAddress
foreach ($email in $emailAddresses){ 
    $GroupToMove = Get-ADGroup -Filter "mail -like '$email'"
    if ($GroupToMove) {
        # Move-ADObject takes the 'DistinghuishedName' or the 'objectGUID' as Identity parameter
        # but it also works when piping the group object itself to it.
        $GroupToMove | Move-ADObject -TargetPath $destinationOU
        Write-Host "Moved group '$($GroupToMove.Name)'."
    } 
    else {
        Write-Warning "Could not find group with email address '$email'"
    }
}
票数 2
EN

Stack Overflow用户

发布于 2018-12-16 11:19:53

在使用CSV时,必须指定字段名。脚本中的另一个问题是AD过滤器中没有引号。

试试这个:

代码语言:javascript
复制
$Groups=import-csv "C:\temp\used_groups.csv"
ForEach ($Group in $Groups){ 
    (Get-ADGroup -Filter "mail -like '$($Group.RecipientAddress)'").samaccountname
    # rest of script.. not done yet. 
}

干杯,

格特·扬

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53801397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档