【问题标题】:Disabing AD-Computers in bulk from txt file从 txt 文件中批量禁用 AD 计算机
【发布时间】: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


【解决方案1】:

使用单引号将$computer 变量括起来。

ForEach ($Computer in $tlist){
    Get-ADComputer -Filter "Name -eq '$Computer'" -Properties Description
}

MS Documentation... Read Filter section and variable use

【讨论】:

  • 感谢您的建议,现在看起来好多了(没有红色),但列表返回为空
  • 您没有将任何内容保存到列表中。您指的是什么列表?
  • 我的意思是结果,为了检查它是否正常工作,我导出结果而不是仅仅为了查看而采取行动,稍后如果我得到正确的结果,我会向它写入行动
【解决方案2】:

如果您直接指定机器,则无需使用-Filter

foreach ($computer in $tlist){
   Get-ADComputer $computer -Properties Description
}

此外,我发现使用代码块进行过滤更容易:

Get-ADComputer -Filter { Name -like "someName01" }

【讨论】:

  • 我也更喜欢这种方式,只是不确定如何将过滤器指向列表(txt/csv)文件,如 Get-ADComputer -Filter {Name -like(检查 txt 列表中的名称) } 而不是进一步管道结果,因此进一步管道的内容实际上是列表。非常感谢您的建议
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
  • 2011-08-21
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
相关资源
最近更新 更多