gpt4 book ai didi

powershell - 使用Powershell更新CSV记录中的Active Directory DN

转载 作者:行者123 更新时间:2023-12-03 01:24:33 26 4
gpt4 key购买 nike

我完全陷入了如何使用新值更新CSV文件中的多行的问题。问题如下,我将一个 Activity 目录csv导出文件导入了大约有500个用户的powershell中,如下所示:

$Users = Import-CSV "C:\Users\administrator\userExport.csv"
然后,我需要更新DN列,以便它们在新域上具有新的 Activity 目录结构
当前结构:
DN:
-----------------
CN=John Smith,OU=Users,DC=XTR,DC=ORG
所需的新域结构
DN:
-----------------
CN=John Smith,OU=Users,OU=Administration,DC=RTS,DC=LIVE,DC=LOCAL
麻烦是我不知道如何依次浏览该CSV文件中的条目以仅通过powershell更新条目的必要元素,对此将提供任何帮助。
CSV文件中的示例行:
DN                                      objectClass     instanceType
-- ------------ ------------
CN=John Smith,OU=Users,DC=XTR,DC=ORG user 4
抱歉,我知道请求的含糊程度,但是我敢肯定必须有一种优雅的方法来做到这一点,但是我对powershell的了解非常有限。
谢谢你的时间。

最佳答案

您应该按原样放置CSV示例,而不要对其进行格式化。我们如何知道CSV格式是否正确?
无论如何,我都试图基于格式正确的CSV(默认分隔符(逗号))进行回答:

Import-CSV "C:\Users\administrator\sourceUsers.csv" | ForEach {
$_.DN = $_.DN -replace "OU=Users,DC=XTR,DC=ORG","OU=Users,OU=Administration,DC=RTS,DC=LIVE,DC=LOCAL"
# ^
# Are you sure it is actually 'OU' here and not 'CN'
$_
} | Export-Csv "C:\Users\administrator\destinationUsers.csv" -NoTypeInformation -Enconding UTF8
如果还有另一个定界符,例如,半冒号:
 Import-CSV "C:\Users\administrator\sourceUsers.csv" -Delimiter ';' | ForEach {
$_.DN = $_.DN -replace "OU=Users,DC=XTR,DC=ORG","OU=Users,OU=Administration,DC=RTS,DC=LIVE,DC=LOCAL"
# ^
# Are you sure it is actually 'OU' here and not 'CN'
$_
} | Export-Csv "C:\Users\administrator\destinationUsers.csv" -NoTypeInformation -Enconding UTF8
编辑:
Mathias在键入自己的字符时回答了:),我之所以保留它,仅是因为我对CSV和“OU = Users ...”的评论

关于powershell - 使用Powershell更新CSV记录中的Active Directory DN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64699839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com