powershell - 无法将系统对象转换为字符串 Powershell
问题描述
嗨,我正在尝试使用下面的 powershell 脚本
$get_AD_Server = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration).DnsDomain | Out-String
$get_Nearest_DC = (Get-ADDomainController -DomainName $get_AD_Server -Discover -NextClosestSite).Name
$get_AD_Server 的输出包含 contoso.com,但是当我在下一个变量中传递变量 $get_AD_Server 时,它总是出错,知道我做错了什么吗?
Get-ADDomainController : The format of the specified domain name is invalid
At line:2 char:20
+ ... arest_DC = (Get-ADDomainController -DomainName $get_AD_Server.ToStrin ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (:) [Get-ADDomainController], ADException
+ FullyQualifiedErrorId : GetADDomainController:BeginProcessingOverride:DiscoverDC:1212,Microsoft.ActiveDirectory.Management.Commands.GetADDomainController
解决方案
不要获取与 NIC 关联的 DNS 域,而是从Win32_ComputerSystem
类中提取计算机域:
$domain = (Get-WmiObject -Class Win32_ComputerSystem).Domain
$nearestDC = (Get-ADDomainController -DomainName $domain -Discover -NextClosestSite).Name
推荐阅读
- csv - 使用 Ansible 解析 CSV
- scala - Scala 如何将案例类转换为函数?
- react-native - 更改活动图像反应原生
- java - 打印输入的长度和单词
- pine-script - PineScript TradingView:超过一年的代码(12 个月 +)
- sql - SSDT Re-alter 什么都没有改变时触发
- javascript - 使用NodeJS,头部的javascript不能使用来自服务器的参数
- android - 在 Android Google 地图中排序图层
- c++ - 将外部头文件导入 VS Code
- sql-server - Sql server 2017 开发人员设置失败,出现空白错误