2014-12-18 3 views
1

В PowerShell, когда я работаю с Active Directory, в частности, часто я буду компилировать объект, содержащий список групп людей, как правило, с $x = get-adgroup -filter {name -like "*"} | select-object name, который дает мне список с именем заголовка или типа объекта:Как получить тип объекта/идентификатор?

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

Как я могу получить доступ к заголовку имени объекта или даже изменить его на что-то еще?
Можно ли это сделать так же, как я мог бы получить доступ к строке первой записи, например, $x[0].name?
Кроме того, существует ли более общий способ доступа к строке, связанной с произвольной записью?

Меня спрашивают о «программировании» в PowerShell, связанном с AD, поэтому любые ресурсы, которые вы можете предоставить, чтобы помочь мне, будут очень признательны.

ответ

1

Две вещи, которые, как я думаю, вы просите, являются программным способом определения имени данного свойства в объекте.

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


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

Name свойство .psobject.properties содержит большую часть этой информации, и я думаю, что вы могли бы искать.

Собирался ответить на вторую часть тем, что только сказал Arco444 об использовании select-object

0

ли вы имеете в виду:

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

или

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

Если вы хотите изменить имя, которое вы можете создать выражение для него в вашем выборе блока:

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

Этого теперь дадут вам:

WhatYouWannaCallIt 
------------------ 
    name1 
    name2 
    name3 
Смежные вопросы