如何搜索给定字符串的单个对象的所有属性?
假设我有以下命令输出:
get-aduser jtest -properties *
DistinguishedName : CN=jtest,CN=Users,DC=confederationc,DC=on,DC=ca
Enabled : True
GivenName : Justus
Name : jtest
ObjectClass : user
ObjectGUID : f4d31d45-0505-433e-9442-152419e75d26
SamAccountName : jtest
SID : S-1-5-21-2138664166-620177494-281947949-184391
Surname : Test
UserPrincipalName : jtest@confederationcollege.ca
...output truncated
Run Code Online (Sandbox Code Playgroud)
如何搜索包含字符串“jtest”的任何属性?
我觉得我一定错过了一些明显的东西。
总是有 findstr (不区分大小写),但结果只是文本。这是一个常见问题。
\nget-aduser jtest | findstr /i jtest\n\nName : jtest\nSamAccountName : jtest\nUserPrincipalName : jtest@confederationcollege.ca\n
Run Code Online (Sandbox Code Playgroud)\n这并不适用于所有情况,但适用于注册表项。这可以与大多数属性名称或值匹配。这取决于“$_”转换为字符串的内容。通用 pscustomobjects 可以工作。它不适用于 get-aduser 示例(对象转换为可分辨名称字符串)。
\nget-itemproperty hkcu:\\key1 | ? { $_ -match 'foo' } # or 'emspace'\n\n\nvalue1 : 17\nemspace : foo\xe2\x80\x83bar\nrefcount : {255, 255}\nPSPath : Microsoft.PowerShell.Core\\Registry::HKEY_CURRENT_USER\\key1\nPSParentPath : Microsoft.PowerShell.Core\\Registry::HKEY_CURRENT_USER\nPSChildName : key1\nPSDrive : HKCU\nPSProvider : Microsoft.PowerShell.Core\\Registry\n\n\nget-itemproperty hkcu:\\key1 | % { "$_" } # showing string conversion\n\n@{value1=17; emspace=foo\xe2\x80\x83bar; refcount=System.Byte[]; PSPath=Microsoft.PowerShell.Core\\Registry::HKEY_CURRENT_USER\\key1; PSParentPath=Microsoft.PowerShell.Core\\Registry::HKEY_CURRENT_USER; PSChildName=key1; PSDrive=HKCU; PSProvider=Microsoft.PowerShell.Core\\Registry}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
1380 次 |
最近记录: |