2016-11-06 70 views
0

我正在使用foreach循环为Active Directory中的每个用户修改属性mobile。这里是我的脚本中的相关部分(我用的随机数的移动只是为了测试它):使用foreach循环替换属性的某些字符

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

我想现在要做的,是刚刚改变移动某些字符。具体来说:我想将每个“0”改为“+49”,每个“/”改为一个空格。你会怎么做?

回答

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} 
} 
+0

我仍然得到一个错误代码;我将下面的答案更新为新的答案。我希望你不介意帮助我多一些。 –

+0

@ConstantinS。假设你提供给ForEach-Object的数据没有'mobile'属性。您需要更新您的问题,提供有关您的代码和数据的更多信息。另外,我相信我特意要求您编辑您的*问题*以提供其他信息,那么为什么您要编辑您的非答案? –

+0

现在使用你的答案,我已经解决了这个问题。感谢您的帮助,对于不便之处感到抱歉,有时候我的阅读理解力不足。 –