我有一个数组$final
,其中数组中的每个元素都是一个自定义对象。每个对象都是'computername @ ipaddress'形式的计算机名(例如:AJFFF01@10.10.10.10)。我需要的是没有'@IPADRESS'的计算机名称列表。我尝试在每个项目上使用.toString()
,但它什么都不返回。请帮忙!
以下是$final
的Get-member的输出(为$final[0] | gm
提供了相同的方法):
PS C:\windows\system32> $final | gm
TypeName: Selected.System.Xml.XmlElement
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
#text NoteProperty System.String #text=AJFFF09@10.10.10.10
提前谢谢大家。
答案 0 :(得分:0)
所以看起来你有一个XmlElements数组而不是一个自定义对象数组。此外,似乎有一个#text属性可用,其中包含您要查找的字符串。您可以通过调用INNER JOIN
来访问它(确保记住属性名称周围的引号)。然后你必须解析字符串以删除额外的数据,但你可以使用正则表达式匹配或.substring()方法。
答案 1 :(得分:0)
获取所需数据的简单方法是使用split
请参阅以下内容以便更好地理解:
$Array='AJFFF01@10.10.10.10'
$CompName=$array.split('@')[0]
$CompName
希望它能够发挥作用。