【发布时间】:2014-03-10 14:39:19
【问题描述】:
我正在尝试运行的 Powershell 命令行出现问题。我们需要的是使用 Powershell 从 PC 的文本文件列表中获取 PC 名称和 LastLogonDate。
这是我尝试运行的代码:
Get-Content C:\Hosts.txt | ForEach-Object{Get-ADComputer $_ -Properties Name,LastLogonDate | Select-Object Name,LastLogonDate | Export-Csv C:\Output.csv}
当我运行该代码时,我收到一条错误消息:“找不到具有标识的对象:'ComputerName'”,尽管 PC 确实处于 AD 中。令我困惑的是,如果您自己运行 ForEach-Object 之后的所有内容,它都会运行得很好。当您添加 Get-Content 和 ForEach-Object 时,错误就开始了。我可以从错误消息中看到正在从文本文件中读取每个单独的计算机名称,但我想知道它是否以 Get-ADComputer 不喜欢的方式传递它。
【问题讨论】:
-
你能举一个你的Hosts.txt的例子吗,根据你的错误它以'computername'开头
-
刚刚意识到这仍然没有答案,我很抱歉。我不知道为什么这以前不起作用,但我在我所在的新公司进行了测试,一切都很好。我确实添加了一个附加导出命令,但除此之外它完全按照它应该的方式工作。在那个特定的环境中一定是一个奇怪的侥幸。获取内容 C:\Hosts.txt | ForEach-Object{Get-ADComputer $_ -Properties Name,LastLogonDate |选择-对象名称、LastLogonDate | Export-Csv C:\Output.csv -Append}
标签: active-directory powershell-3.0