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```
所以我有一个永远有效的脚本,我从来没有注意过它。然而不知从何而来它已经停止工作。当我尝试使用 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```