【发布时间】:2020-05-13 19:19:17
【问题描述】:
我希望禁用我在文本文件中拥有的众多计算机帐户,并想询问是否有人可以查看并帮助我。我已经尝试了许多来自互联网的脚本,但到目前为止没有太多运气(+8 小时花费和拉扯我的头发)。我可以看到这里可能有两种不同的方法,或者通过带有 get-content 的 foreach 循环或通过过滤 get-adcomputer 但无论我尝试哪种方法都没有运气。提前感谢您的所有帮助。
我的文本文件只是简单的一行一行的计算机名称,例如 PC01 PC02 然后脚本就开始了
$tlist = Get-Content C:\.Data\raports\test.txt
ForEach ($Computer in $tlist){
Get-ADComputer -Filter "Name -eq $Computer" -Properties Description
}
当我运行它时,我得到了
Get-ADComputer:解析查询时出错:'Name -eq PC01' 错误消息:'syntax error' at position:'10'。
在 line:1 char:31
... in $tlist){Get-ADComputer -Filter "Name -eq $Computer" -Properties D ...
+ CategoryInfo : ParserError: (:) [Get-ADComputer], ADFilterParsingException + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADFilterParsingException,Microsoft.ActiveDirectory.Management.Commands.GetADComputer
按照第二种方法,我努力在其中提供文件列表。
非常感谢您的所有帮助和建议
【问题讨论】:
-
看起来在所有搜索之后我现在有了一个可行的解决方案,即 $TimeStamp = ((get-date).toshortdatestring()) $pclist = Get-Content C:\.Data\raports\ disable.txt Foreach($pc in $Pclist) {Get-ADComputer -Identity "$pc" |Set-ADComputer -Enabled $false -Description "$timestamp,"} 关于这个我想问大家的另一件事是,如果有办法只添加到描述而不是替换它。我想以日期格式添加禁用它的日期,[旧描述]
标签: powershell