Find-SCComputer
通过查询 Active Directory 搜索计算机,并返回计算机对象。
语法
Find-SCComputer
[-VMMServer <ServerConnection>]
[-ComputerNameFilter <String>]
-Domain <String>
-Credential <VMMCredential>
[-ExcludeVMMHost]
[-ExcludeVMMLibrary]
[-ExcludeVMs]
[-FindHyperVHost]
[-DiscoveryID <Guid>]
[-RunAsynchronously]
[-JobVariable <String>]
[<CommonParameters>]
Find-SCComputer
[-VMMServer <ServerConnection>]
[-ComputerName] <String>
[-Credential <VMMCredential>]
[-ExcludeVMMHost]
[-ExcludeVMMLibrary]
[-DiscoveryID <Guid>]
[-RunAsynchronously]
[<CommonParameters>]
Find-SCComputer
[-VMMServer <ServerConnection>]
-Domain <String>
-ADSearchFilter <String>
-Credential <VMMCredential>
[-ExcludeVMMHost]
[-ExcludeVMMLibrary]
[-ExcludeVMs]
[-FindHyperVHost]
[-DiscoveryID <Guid>]
[-RunAsynchronously]
[-JobVariable <String>]
[<CommonParameters>]
Find-SCComputer
[-VMMServer <ServerConnection>]
-IPAddressRangeStart <String>
-IPAddressRangeEnd <String>
-BMCProtocol <OutOfBandManagementType>
[-BMCCustomConfigurationProvider <ConfigurationProvider>]
[-BMCPort <Int32>]
-BMCRunAsAccount <RunAsAccount>
[-All]
[-DiscoveryID <Guid>]
[-RunAsynchronously]
[-JobVariable <String>]
[<CommonParameters>]
Find-SCComputer
[-VMMServer <ServerConnection>]
-Subnet <String>
-BMCProtocol <OutOfBandManagementType>
[-BMCCustomConfigurationProvider <ConfigurationProvider>]
[-BMCPort <Int32>]
-BMCRunAsAccount <RunAsAccount>
[-All]
[-DiscoveryID <Guid>]
[-RunAsynchronously]
[-JobVariable <String>]
[<CommonParameters>]
Find-SCComputer
[-VMMServer <ServerConnection>]
-BMCAddress <String>
-BMCProtocol <OutOfBandManagementType>
[-BMCCustomConfigurationProvider <ConfigurationProvider>]
[-BMCPort <Int32>]
-BMCRunAsAccount <RunAsAccount>
[-SMBiosGuid <Guid>]
[-DeepDiscovery]
[-DiscoveryID <Guid>]
[-RunAsynchronously]
[-JobVariable <String>]
[<CommonParameters>]
说明
Find-SCComputer cmdlet 通过查询 Active Directory 搜索一个或多个计算机,并返回计算机对象。
您可以使用此 cmdlet 在 Active Directory 中基于指定的条件或条件组合查询计算机,查询条件包括:
计算机的 FQDN) 的完全限定域名 (。
计算机名称的所有或部分。
域的名称。
除 Virtual Machine Manager 管理的主机之外的所有计算机 (VMM) 。
除 VMM 管理的库服务器之外的所有计算机。
仅 Hyper-V 主机。
带外控制器的裸机计算机。
注意:如果将位于 Active Directory 域的新计算机(例如主机或库服务器)添加到 VMM,然后立即运行 Discover-Computer cmdlet,则 cmdlet 在搜索 Active Directory 时可能不会立即发现新计算机。 可能会发生此延迟,因为有关新计算机的数据可能尚未在 Active Directory 域中复制。 如果您是域管理员,则可以使用 Active Directory 站点和服务控制台立即强制执行该数据的复制。
示例
示例 1:搜索满足指定条件的特定域中的计算机
PS C:\> $RunAsAccount = Get-SCRunAsAccount -Name "Host Computer Account 01"
PS C:\> Find-SCComputer -ComputerNameFilter "host" -Domain "Contoso.com" -FindHyperVHosts -ExcludeVMMHost -RunAsAccount $RunAsAccount
第一个命令获取名为“主机计算机帐户 01”的运行方式帐户对象,并将该对象存储在$RunAsAccount变量中。
第二个命令查询 Active Directory 并返回位于 Contoso.com 域中的计算机的 Hyper-V 计算机对象列表,这些计算机的名称以“host”开头,不由 VMM 管理。 处理此命令时,$RunAsAccount为 Find-SCComputer 提供凭据。
注意:将 Find-SCComputer 与 Domain 参数一起使用时,必须指定完全限定的域名。
示例 2:按名称搜索特定计算机并在 Active Directory 中验证其属性
PS C:\> Find-SCComputer -ComputerName "VMHost01.Contoso.com"
此命令使用名为 VMHost01 的计算机 (FQDN) 的完全限定域名在 Active Directory 中查找此计算机,返回计算机对象,并向用户显示计算机对象属性。
示例 3:搜索指定域中不是 VMM 库服务器的所有计算机
PS C:\> $RunAsAccount = Get-SCRunAsAccount -Name "Host Computer Account 01"
PS C:\> Find-SCComputer -ComputerNameFilter "vmm" -Domain "Contoso.com" -ExcludeVMMLibrary -RunAsAccount $RunAsAccount
第一个命令获取名为“主机计算机帐户 01”的运行方式帐户对象,并将该对象存储在$RunAsAccount变量中。
第二个命令将查询 Active Directory 中 Contoso.com 域中包括“vmm”的计算机名称中的所有计算机,但 VMM 库服务器除外。 处理此命令时,$RunAsAccount为 Find-SCComputer 提供凭据。
示例 4:使用 Active Directory 查询查找指定域中的所有非托管计算机
PS C:\> $RunAsAccount = Get-SCRunAsAccount -Name "Host Computer Account 01"
PS C:\> Find-SCComputer -ADSearchFilter "(&(sAMAccountType=805306369)(name=Test0*)(objectCategory=computer)(objectClass=computer)(operatingSystem=Windows\20Server\202008\20R2*))" -Domain "Contoso.com" -ExcludeVMMLibrary -ExcludeVMMHost -RunAsAccount $RunAsAccount
第一个命令获取名为“主机计算机帐户 01”的运行方式帐户对象,并将该对象存储在$RunAsAccount变量中。
第二个命令查询符合查询条件的 Contoso.com 域中所有计算机的 Active Directory:任何以 Test0 开头但不是 VMM 库服务器或 VMM 主机的名称的 Windows Server 2008 R2 计算机。 处理此命令时,$RunAsAccount为 Find-SCComputer 提供凭据。
示例 5:查找具有位于特定网络范围内的带外控制器的裸机计算机
PS C:\> $BMCRunAsAccount = Get-SCRunAsAccount "BMC Account 01"
PS C:\> Find-SCComputer -BMCAddress "10.10.0.1" -BMCRunAsAccount $BMCRunAsAccount -BMCProtocol "IPMI"
第一个命令获取名为 BMC 帐户 01 的运行方式帐户对象,并将对象存储在$BMCRunAsAccount变量中。
第二个命令使用指定的 BMCAddress 扫描网络中的物理计算机。 处理此命令时,$BMCRunAsAccount提供 Find-SCComputer 的凭据。
示例 6:在支持裸机计算机的物理计算机上执行深度发现
PS C:\> $BMCRunAsAccount = Get-SCRunAsAccount "BMC Account 01"
PS C:\> $MyComputer01 = Find-SCComputer -BMCAddress "10.10.0.1" -BMCRunAsAccount $BMCRunAsAccount -BMCProtocol "IPMI"
PS C:\> $MyComputer01 = Find-SCComputer -DeepDiscovery -BMCAddress $MyComputer01.BMCAddress -BMCRunAsAccount $BMCRunAsAccount -BMCProtocol "IPMI" -SMBIOSGUID $MyComputer01.SMBIOSGUID
PS C:\> $MyComputer01
第一个命令获取名为 BMC 帐户 01 的运行方式帐户对象,并将对象存储在$BMCRunAsAccount变量中。
第二个命令使用指定的 BMCAddress 扫描网络中的物理计算机。 处理此命令时,$BMCRunAsAccount提供 Find-SCComputer 的凭据。
第三个命令对计算机对象执行深层发现,并将物理计算机对象返回到 $MyComputer 01 变量。
最后一个命令显示存储在 $MyComputer 01 变量中的计算机对象的属性。
参数
-ADSearchFilter
定义用于发现的 Active Directory 查询。 使用此参数指定包含 Active Directory 域信息和搜索筛选器的查询。
示例格式: -ADSearchFilter``"(&(sAMAccountType=805306369)(name=katarina*)(objectCategory=computer)(objectClass =computer)(operatingSystem=Windows\20Server*))"
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-All
指示此 cmdlet 获取独立于父对象的所有从属对象。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BMCAddress
指定或更新特定物理计算机的带外基板管理控制器 (BMC) 地址。 这可能是 IP 地址、 (FQDN) 的完全限定域名,或 DNS 前缀 (通常与 NetBIOS 名称) 的名称相同。
通常,BMC 地址及其与网络的连接与与标准网络适配器关联的 IP 地址分开。 或者,某些计算机确实使用标准网络适配器为 BMC 和网络适配器提供单个地址。 但是,BMC 地址具有唯一的端口,因此在网络上唯一可识别。
IPv4 格式示例: -BMCAddress "10.0.0.21"
Ipv6 格式示例: -BMCAddress "2001:4898:2a:3:657b:9c7a:e1f0:6829"
示例 FQDN 格式: -BMCAddress "Computer01.Contoso.com"
NetBIOS 格式示例: -BMCAddress "Computer01"
注意:默认情况下,VMM 对 BMC 地址使用 IP 地址或 FQDN。 但是,还可以创建一个 PowerShell 模块,使你可以将其他类型的地址指定为 BMC 地址。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BMCCustomConfigurationProvider
指定或更新基板管理控制器的配置提供程序对象, (BMC) 。 配置提供程序是 VMM 的插件,用于将 VMM PowerShell 命令转换为特定于类型基板管理控制器的 API 调用。 此参数应与自定义 BMCProtocol 一起使用。
Type: | ConfigurationProvider |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BMCPort
指定或更新特定物理计算机的带外基板管理控制器 (BMC) 端口。 BMC 端口也称为服务处理器端口。 示例默认端口为 623(对于 IPMI)和 443,用于通过 WS-Man 进行 SMASH。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BMCProtocol
指定或更新 VMM 用来与带外基板管理控制器通信的协议, (BMC) 。 有效值为:
- IPMI
- 粉碎
- 自定义
BMC (也称为服务处理器或管理控制器) 是服务器主板上的专用控制器,它充当硬件和系统管理软件之间的接口。 如果物理计算机的主板包括 BMC,则当计算机插入 (它是否关闭或开机,以及操作系统是否安装) ,系统硬件的相关信息以及系统硬件运行状况的状态可用。
示例格式: -BMCProtocol "Custom"
注意:自定义协议要求使用 BMCCustomConfigurationProvider 参数。
Type: | OutOfBandManagementType |
Accepted values: | IPMI, SMASH, Custom |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BMCRunAsAccount
指定要与基板管理控制器一起使用的运行方式帐户, (BMC) 设备。
Type: | RunAsAccount |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
指定 VMM 可以在您的网络上唯一标识的计算机的名称。 此参数的可接受值为:
- FQDN
- IPv4 或 IPv6 地址
- NetBIOS 名称
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerNameFilter
指定 cmdlet 将尝试在 Active Directory 中发现的计算机的部分名称或全名。
示例格式: -ComputerNameFilter "host"
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定凭据对象,或者,对于某些 cmdlet,一个运行方式帐户对象,该对象包含有权执行此操作的帐户的用户名和密码。 或者,在 Restart-SCJob 的情况下,有权完成重启的任务。
有关 PSCredential 对象的详细信息,请键入 Get-Help Get-Credential
。
有关运行方式帐户的详细信息,请键入 Get-Help New-SCRunAsAccount
。
Type: | VMMCredential |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DeepDiscovery
指示深度发现用于指定计算机。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DiscoveryID
仅供内部使用(不要在您的代码中使用)。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Domain
为 Active Directory 域指定完全限定的域名 (FQDN)。
示例格式: -Domain "Domain01.Corp.Contoso.com"
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExcludeVMMHost
排除 VMM 当前管理的虚拟机主机。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExcludeVMMLibrary
排除 VMM 当前管理的库服务器。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExcludeVMs
排除虚拟机。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FindHyperVHost
搜索运行 Windows Server 2008 或更高版本的计算机,并启用 Hyper-V 服务器角色。
Type: | SwitchParameter |
Aliases: | FindHyperVHosts |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IPAddressRangeEnd
指定一系列 IP 地址中的最后一个 IP 地址。 与 IPAddressRangeStart 参数一起使用。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IPAddressRangeStart
指定一系列 IP 地址中的第一个 IP 地址。 与 IPAddressRangeEnd 参数一起使用。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
指定跟踪作业进度,并将其存储在此参数命名的变量中。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
指示作业以异步方式运行,以便控件立即返回到命令 shell。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SMBiosGuid
为与 VMM 中该物理计算机关联的物理计算机指定系统管理 BIOS 全局唯一标识符 (SMBIOS GUID) 。
SMBIOS 定义数据结构和访问方法,使用户或应用程序能够在此计算机上存储和检索有关硬件的信息,例如系统名称、制造商或系统 BIOS 版本。 Windows 操作系统在系统启动时检索 SMBIOS 数据,并使这些数据可供程序使用。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subnet
在无类Inter-Domain路由 (CIDR) 表示法中指定 IP 子网 (IPv4 或 IPv6) 。
IPv4 子网的示例格式: 192.168.0.1/24
IPv6 子网的示例格式: FD4A:29CD:184F:3A2C::/64
注意:IP 子网不能与主机组或子主机组中的任何其他子网重叠。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMMServer
指定VMM 服务器对象。
Type: | ServerConnection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输出
Computer
此 cmdlet 返回 Computer 对象。