String 输出CMDLET的结果并在PowerShell中对其进行操作
我有一个变量,它为我提供了Active Directory中对象的名称:String 输出CMDLET的结果并在PowerShell中对其进行操作,string,powershell,split,String,Powershell,Split,我有一个变量,它为我提供了Active Directory中对象的名称: $LastOU = Get-ADOrganizationalUnit -Filter * -Properties * | Sort { $_.WhenCreated } -Descending | Select -First 1 {$_.CanonicalName} | Out-String 如果我以Write Host$LastOU的身份运行命令,它将inde
$LastOU = Get-ADOrganizationalUnit -Filter * -Properties * |
Sort { $_.WhenCreated } -Descending |
Select -First 1 {$_.CanonicalName} |
Out-String
如果我以Write Host$LastOU
的身份运行命令,它将indeds提供我预期的结果:
@{$\.CanonicalName=domain.local/Microsoft/Userz}
我现在要做的是操纵字符串,使其
微软
选中
我使用Out String
方法将命令的结果作为字符串
之后,我要做的是使用.Split()
-函数来处理结果
我这样做就像$CompName=$LastOU.Split(…)
但是我得到了一个错误:
方法调用失败,因为[Selected.Microsoft.ActiveDirectory.Management.ADOrganizationalUnit]不包含名为“Split”的方法
这意味着我的结果不是字符串?但是我的命令有什么问题吗?将select语句更改为include-ExpandProperty,它应该只返回字符串而不是对象 改变这个
Select -First 1 {$_.CanonicalName} |Out-String
对此
Select -ExpandProperty CanonicalName -first 1
将select语句更改为include-ExpandProperty,它应该只返回字符串而不是对象 改变这个
Select -First 1 {$_.CanonicalName} |Out-String
对此
Select -ExpandProperty CanonicalName -first 1
Select-First 1{$.CanonicalName}Out String
->Select-First 1-展开CanonicalName
Get Member-InputObject$LastOU
将告诉您变量的类型以及可用的方法和成员。另外,如果某个对象具有“自动”字符串表示形式,您可能可以使用-split
操作符来操作它,而不是尝试使用可能不存在的.split()
方法。非常感谢您的评论,选择-First 1{$\ CanonicalName}|输出字符串
->选择-第一个1-展开CanonicalName
获取成员-InputObject$LastOU
将告诉您变量的类型以及可用的方法和成员。此外,如果某些内容具有“自动”字符串表示形式,您可能可以使用-split
操作符来操作它,而不是尝试使用可能不存在的.split()
方法。非常感谢您的评论,