如何获取对象类型/标识符?

时间:2014-12-18 16:26:24

标签: powershell properties active-directory

在PowerShell中,当我专门使用Active Directory时,通常我会编译一个对象,其中包含通常带有$x = get-adgroup -filter {name -like "*"} | select-object name的人员列表,这会给我一个带有标题或对象类型名称的列表:

   name   
----------
  name1
  name2
  name3

如何访问对象的名称标题,甚至将其更改为其他内容? 它可以像我访问第一个条目的字符串$x[0].name一样完成吗? 此外,是否有更通用的方法来访问与任意条目相关联的字符串?

我被要求在PowerShell中进行大量与AD相关的“编程”,因此您可以提供的任何资源可以帮助我。非常感谢。

3 个答案:

答案 0 :(得分:2)

如果要更改名称,可以在选择块中为其创建表达式:

get-adgroup -filter {name -like "*"} | select-object @{Name="WhatYouWannaCallIt";Expression={$_.Name}}

现在可以给你:

WhatYouWannaCallIt   
------------------
     name1
     name2
     name3

答案 1 :(得分:1)

我认为您要求的两件事是以编程方式确定对象中给定属性的名称。

(get-aduser $user | select name).psobject.properties


MemberType      : NoteProperty
IsSettable      : True
IsGettable      : True
Value           : Matt
TypeNameOfValue : System.String
Name            : name
IsInstance      : True

Name的{​​{1}}属性包含大部分此类信息,我认为您可能正在寻找。

对于使用.psobject.properties

的Arco444所说的内容,我将回答第二部分

答案 2 :(得分:0)

你的意思是:

$x = get-adgroup -filter {name -like "*"}
$x.name

(get-adgroup -filter {name -like "*"}).name