【问题标题】:Replacing certain characters of an attribute using a foreach loop使用 foreach 循环替换属性的某些字符
【发布时间】:2016-11-06 14:26:38
【问题描述】:

我正在使用 foreach 循环为 Active Directory 中的每个用户修改属性 mobile。这是我脚本的相关部分(我使用了一个随机数来测试它):

ForEach-Object {
    Set-ADUser -Identity $_.SamAccountName -Replace @{mobile = '456'}
}

我现在想做的,只是改变mobile中的某些字符。具体来说:我想将每个“0”更改为“+49”,将每个“/”更改为空格。你会怎么做呢?

【问题讨论】:

    标签: powershell foreach active-directory


    【解决方案1】:

    改变

    ForEach-Object {
        Set-ADUser -Identity $_.SamAccountName -Replace @{mobile = '456'}
    }
    

    ForEach-Object {
        $mobile = $_.mobile -replace '0', '+49' -replace '/', ' '
        Set-ADUser -Identity $_.SamAccountName -Replace @{mobile = $mobile}
    }
    

    【讨论】:

    • 我仍然收到错误代码;我将下面的答案更新为新答案。我希望你不介意再帮我一些忙。
    • @ConstantinS。大概您输入ForEach-Object 的数据没有mobile 属性。您需要使用有关您的代码和数据的更多信息来更新您的问题。另外,我相信我特别要求您编辑您的问题以提供更多信息,那么您为什么要编辑您的非答案呢?
    • 现在使用你的答案,我已经解决了这个问题。感谢您的帮助,给您带来的不便深表歉意,有时我的阅读理解能力有所欠缺。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2018-08-20
    • 2013-07-08
    • 2015-01-21
    • 2016-01-07
    • 2015-12-01
    • 2020-09-15
    相关资源
    最近更新 更多