首页 > 解决方案 > Get-ADComputer 找不到主机名,但我可以手动找到它

问题描述

所以我有一个永远有效的脚本,我从来没有看过它。然而,它突然停止了工作。当我尝试使用 Get-ADComputer cmdlet 在 AD 中搜索主机名时,它返回以下错误消息:

Get-ADComputer:在“DC=domain,DC=name,DC=edu”下找不到具有身份的对象:“主机名”

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

有其他人遇到过基本 PS cmdlet 无法正常工作的情况吗?

标签: powershellhostname

解决方案


弄清楚了。我有"$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```

推荐阅读