Хотя во всей интерактивной документации и примерах указано, что для результатов Get-ADComputer должно быть свойство OperatingSystem, у меня его нет на моем Win Server 2008 R2.
Вот все, что у меня есть на Get-ADComputer:
PS I:\> Get-ADComputer -filter{name -eq "sit-selpa"} | Get-Member
TypeName: Microsoft.ActiveDirectory.Management.ADComputer
Name MemberType Definition
---- ---------- ----------
Contains Method bool Contains(string propertyName)
Equals Method bool Equals(System.Object obj)
GetEnumerator Method System.Collections.IDictionaryEnumer...
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Item ParameterizedProperty Microsoft.ActiveDirectory.Management...
DistinguishedName Property System.String DistinguishedName {get...
DNSHostName Property System.String DNSHostName {get;set;}
Enabled Property System.Boolean Enabled {get;set;}
Name Property System.String Name {get;}
ObjectClass Property System.String ObjectClass {get;set;}
ObjectGUID Property System.Nullable`1[[System.Guid, msco...
SamAccountName Property System.String SamAccountName {get;set;}
SID Property System.Security.Principal.SecurityId...
UserPrincipalName Property System.String UserPrincipalName {get...
sit-selpa - это сервер Server 2008 R2, на котором я работаю, localhost.
Почему всего 9 объектов? Я искал в Интернете, но не могу найти никого с таким опытом.
Ваш Get-AdComputer
использует только свойства по умолчанию для объекта. Использовать -Properties *
чтобы схватить их всех:
Get-ADComputer -filter {name -eq "sit-selpa"} -Property * | Get-Member
А потом просто получить OperatingSystem
:
Get-ADComputer -filter {name -eq "sit-selpa"} -Property * | Select-Object OperatingSystem
Однако ты не обязательный Хватать все свойства объекта с использованием подстановочного знака. Вы можете явно указать дополнительные свойства:
Get-ADComputer -Identity sit-selpa -Properties OperatingSystem
...
Get-ADComputer -Identity sit-selpa -Properties OperatingSystem, OperatingSystemVersion