尝试更改 Active Directory 中的特定描述时表达式中出现意外标记 'Set-ADUser'
Unexpected Token 'Set-ADUser' in expression when trying to change particular Descriptions in Active Directory
这是一个双重问题。
首先,我试图让这个 PS 命令起作用(尝试提取描述中包含某些字符的帐户并替换这些字符),它一直给我 "Unexpected token 'Set-ADUser' in expression or statement."错误:
Get-ADUser -Filter {description -like "*Example*"} -Properties description | ForEach-Object {$newDescription = $_.Description.Replace("Example", "Example2") Set-ADUser -Identity $_ -Description $newDescription}
我是基于我在这里找到的(第二个答案 - Ansgar Wiechers)
非常感谢任何帮助!以前从未使用过这样的网站,但不想在这上面花太多时间。
我的第二个问题与第一个问题有关,前面提到的 link 有例子。有没有一种方法可以在不按 Enter 的情况下移动到 PS 中的下一行?
我问的原因是当我将上面的代码 link 复制到 Word 中,编辑它,然后复制到 PS 和 运行 中时,它 运行 没问题' 实际上改变了什么,但它 运行。当我尝试 运行 全部作为一行时,它会抛出错误。
人们这样做是在另一个程序中构建命令吗?
你几乎做对了。唯一的错误是您需要使用 $_.DistinguishedName
或 $_.SamAccountName
作为 Set-ADUser
的 -Identity
参数。
当您尝试将所有内容都放在一行中时,这些事情经常发生。这使得阅读代码变得非常困难。
我也把.Replace
改成了-replace
。这使得它不区分大小写(与您的 -Filter
相同),所以现在 'example' 也将被 'Example2' 取代。
这是新代码。
Get-ADUser -Filter { Description -like "*Example*"} -Properties Description |
ForEach-Object {
$newDescription = $_.Description -replace "Example", "Example2"
Set-ADUser -Identity $_.DistinguishedName -Description $newDescription
}
这是一个双重问题。
首先,我试图让这个 PS 命令起作用(尝试提取描述中包含某些字符的帐户并替换这些字符),它一直给我 "Unexpected token 'Set-ADUser' in expression or statement."错误:
Get-ADUser -Filter {description -like "*Example*"} -Properties description | ForEach-Object {$newDescription = $_.Description.Replace("Example", "Example2") Set-ADUser -Identity $_ -Description $newDescription}
我是基于我在这里找到的(第二个答案 - Ansgar Wiechers)
非常感谢任何帮助!以前从未使用过这样的网站,但不想在这上面花太多时间。
我的第二个问题与第一个问题有关,前面提到的 link 有例子。有没有一种方法可以在不按 Enter 的情况下移动到 PS 中的下一行? 我问的原因是当我将上面的代码 link 复制到 Word 中,编辑它,然后复制到 PS 和 运行 中时,它 运行 没问题' 实际上改变了什么,但它 运行。当我尝试 运行 全部作为一行时,它会抛出错误。
人们这样做是在另一个程序中构建命令吗?
你几乎做对了。唯一的错误是您需要使用 $_.DistinguishedName
或 $_.SamAccountName
作为 Set-ADUser
的 -Identity
参数。
当您尝试将所有内容都放在一行中时,这些事情经常发生。这使得阅读代码变得非常困难。
我也把.Replace
改成了-replace
。这使得它不区分大小写(与您的 -Filter
相同),所以现在 'example' 也将被 'Example2' 取代。
这是新代码。
Get-ADUser -Filter { Description -like "*Example*"} -Properties Description |
ForEach-Object {
$newDescription = $_.Description -replace "Example", "Example2"
Set-ADUser -Identity $_.DistinguishedName -Description $newDescription
}