我正在尝试创建一个脚本,提示用户输入计算机名称,然后脚本将返回是否存在于我们的域中,使用以下内容。
$compname = Read-Host -Prompt "Please enter a computer name"
$computers = Get-ADComputer -Filter * -SearchBase 'DC=LAN,DC=COMPANY,DC=COM' -SearchScope 2
foreach($computer in $computers)
{
if($computer.Name -eq $compname)
{
Write-Output "$compname exists in your domain."
}
elseif($computer.Name -ne $compname)
{
Write-Output "$compname does not exist in your domain."
}
这一直到elseif
语句为止。
如果我搜索的是100%确定存在的计算机,那么脚本将按原样返回,但是当我尝试一台100%确定不存在的计算机时,它什么都不返回。
如果我错了,请纠正我,但我相信这是因为它包含在foreach
声明中。然而,我正在努力在其他地方放置“不包含”声明或使用什么。
我仍然是Powershell的新手,但我正在努力学习,有时这样做是学习的关键。
注意:我知道搜索库是不明白的,这是出于公司安全目的,但我可以向您保证,当我输入正确的OU时,它会一直工作到elseif
,如上所述。
下一步是将其放入do
until
循环中,该循环将询问是否要重复该过程。
非常感谢提前