Какие форматы данных легче всего читать в PowerShell?


Я пытаюсь использовать PowerShell с SharePoint. Я бы хотел, чтобы мои сценарии PowerShell загружали конфигурацию фермы SharePoint из файлов, а не жестко кодировали конфигурацию в сценариях или каждый раз передавали одни и те же параметры.

Это та информация, которую мне нужно хранить.

WebFrontEnds: Web1, Web2, Web3
CentralAdmin: Central1
Index: Web1
ContentWebApps: http://user1, http://user2

Легко ли PowerShell загружает эти данные из CSV, XML или других форматов?

2 3

2 ответа:

[2] Powershell имеет большую поддержку для XML-данных, это позволяет вам "расставлять точки" через XML-иерархию. Например, предположим, что ваши данные были в следующем виде

<Root>
    <WebFrontEnds>
        <Web1 />
        <Web2 />
        <Web3 />
    </WebFrontEnds>
</Root>

К нему можно получить доступ так

C:\Users\jaredpar> $data = [xml](gc example.xml)
C:\Users\jaredpar> $data.Root.WebFrontEnds.ChildNodes | %{ $_.Name }
Web1
Web2
Web3

Ваши данные кажутся реляционными (в основном три таблицы, компьютер, функция и таблица сопоставления), поэтому XML и CSV (с использованием включенных командлетов Import-Csv и Export-Csv) будут работать, но будут несовершенными. Я бы предложил использовать SQL CE.