Get-ADComputer 找不到主机名,但我可以手动找到它

Get-ADComputer does not find hostname but I can find it manually

所以我有一个永远有效的脚本,我从来没有注意过它。然而不知从何而来它已经停止工作。当我尝试使用 Get-ADComputer cmdlet 在 AD 中搜索主机名时,returns 出现以下错误消息:

Get-ADComputer:找不到标识为 'hostname' 的对象:'DC=domain,DC=name,DC=edu'

即使我尝试了一个基本的Get-ADComputer hostname它returns同样的错误信息。但是,如果我自己打开 AD 并搜索主机名,我会发现它很好。 AD 和 Powershell 之间似乎存在某种脱节。

还有其他人运行参与其中基本 PS cmdlet 无法正常工作的地方吗?

想通了。当它应该是 $ComputerName 时,我有 "$ComputerName" 没有引号。不知道为什么我需要搜索“像”计算机名而不是名称本身的东西,但它有效。最终脚本类似于:

Param(
   [Parameter(Mandatory=$True)]
   [string]$ComputerName
)

echo ""
echo ""

$Properties =
@(
 'CanonicalName',
 'Enabled',
 'Created',
 'LastLogonDate',
 'IPv4Address',
 'OperatingSystem',
 'OperatingSystemServicePack',
 'OperatingSystemVersion'
)
Get-ADComputer -Filter 'Name -like $ComputerName' -Properties $Properties | select $Properties```