У меня есть некоторый код для получения списка сайтов IIS6 через ADSI:
([adsi]"IIS://localhost/W3SVC").psbase.children | select servercomment, serverstate | Where-Object {$_.serverstate -ne $null}
servercomment serverstate
------------- -----------
{Default Web Site} {4}
{SharePoint Web Services} {4}
{SharePoint Central Administration v4} {4}
{SharePoint - 80} {4}
Когда я передаю его через командлеты convertto или вне строки или циклически перебираю объекты с помощью tostring (), я получаю что-то вродеthis
#TYPE Selected.System.DirectoryServices.DirectoryEntry
"servercomment","serverstate"
"System.DirectoryServices.PropertyValueCollection","System.DirectoryServices.PropertyValueCollection"
"System.DirectoryServices.PropertyValueCollection","System.DirectoryServices.PropertyValueCollection"
"System.DirectoryServices.PropertyValueCollection","System.DirectoryServices.PropertyValueCollection"
"System.DirectoryServices.PropertyValueCollection","System.DirectoryServices.PropertyValueCollection"
По сути, мне просто нужно, чтобы список сайтов (серверный комментарий) рассматривался как объекты Powershell, чтобы я мог экспортировать их различными способами.Но, насколько я понимаю, они сами по себе являются коллекциями и имеют больше свойств, но когда я углубляюсь, я не вижу ничего, что можно извлечь как имя сайта IIS.Легче ли получать эту информацию через WMI или мне нужно создать новый объект Powershell, который бы содержал их?