gpt4 book ai didi

powershell - 尝试使用 Powershell 更改 AD LDS 中的显示名称

转载 作者:行者123 更新时间:2023-12-02 23:28:23 25 4
gpt4 key购买 nike

我有一个在线学习管理系统,它的大部分数据都在 sql server 中,但它的页面结构和内容在 AD LDS 实例中。我有一些类(class)已经设置了 50 页,称为“未使用的投资组合 01”到“未使用的投资组合 50”。这些是他们的显示名称。他们的 CN 是“Portfolio 01”到“Portfolio 50”。

我需要将显示名称更改为每个具有不同学生的姓名,格式为“Last,First”。我正在尝试为 Windows Powershell 使用 Active Directory 模块。现在我在一个测试服务器上试图让这个工作只用几页。我一次无法更改多个显示名称。

我可以获得这些页面的对象列表:

Get-ADObject -Server localhost:389 -filter 'displayname -like "*Portfolio*" -and cn -like "Portfolio*"' -searchbase 'CN=DMIN2013-LMS 101-02,CN=LMS 101,CN=LMS,CN=Academics,CN=Portal,O=Jenzabar,C=US'

我得到了所有三个预期对象的专有名称、名称、对象类和 objectguid,没有意外对象。伟大的。

我可以一次更改任何一个对象的显示名称:
set-adobject -Server localhost:389 -identity "CN=Portfolio 01,CN=DMIN2013-LMS 101-02,CN=LMS 101,CN=LMS,CN=Academics,CN=Portal,O=Jenzabar,C=US" -displayname "testing"

指定对象的显示名称更改为“testing”。惊人的。

我正在尝试使用它来一次将这三个对象的所有显示名称更改为“测试”,显然我有问题,因为它不起作用:
Get-ADObject -Server localhost:389 -filter 'displayname -like "*Portfolio*" -and cn -like "Portfolio*"' -searchbase 'CN=DMIN2013-LMS 101-02,CN=LMS 101,CN=LMS,CN=Academics,CN=Portal,O=Jenzabar,C=US' | foreach-object 'set-adobject -Server localhost:389 -identity $_ -displayname "testing"'

最终目标是我将拥有一个 csv 文件(我将从 sql server 的 sql 查询中获得),其中包含一个“数字”列 01 到 50、一个“姓氏”列和一个“名字”列,以及我将更改每个页面的显示名称以匹配每个学生的“,”,但我还没有到那个时候。

谢谢你的尽心帮助。

最佳答案

Foreach-Object 使用脚本 block 而不是字符串,因此请使用:

something | Foreach-Object {Do something with $_}

关于powershell - 尝试使用 Powershell 更改 AD LDS 中的显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26550872/

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