2016-06-06 4 views
0

Какова наилучшая практика создания текстовой базы данных для сценария PowerShell?Лучшая практика использования строковых данных из файла

Что я на самом деле имею в виду? У меня есть сценарий PowerShell, который использует URL-адрес. Этот адрес может использоваться в других сценариях PS, но я был бы очень доволен, если бы существовала довольно простая практика для хранения этого URL (или более) в файле, и скрипты использовали форму этого содержимого, что мне нужно только для того, чтобы определить, какая переменная, строка должна быть использована, например:

SharePointUrl = "..." 
CcUrl = "..." 

И в сценарии:

$SPUrl = DataFile.SharePointUrl ... 

Что-то вроде этого.

ответ

0

Не уверен, правильно ли я понял ваш вопрос. Вы ищете что-то вроде этого?

$SharePointUrl = 'http://www.example.org/...' 
New-Object -Type PSObject -Property @{'URL'=$SharePointUrl} | 
    Export-Csv 'C:\path\to\some.csv' -NoType 

$DataFile = Import-Csv 'C:\path\to\some.csv' 
$SPUrl = $DataFile.URL 

Edit: После перечитывая свой вопрос, кажется, у вас есть входной файл с key=value парами. Это может быть обработан следующим образом:

$DataFile = Get-Content 'C:\path\to\data.txt' -Raw | ConvertFrom-StringData 
$SPUrl = $DataFile.SharePointUrl 

Другой вариант заключается в написании конфигурации для второго сценария PowerShell:

# as variables 
$SharePointUrl = "..." 
$CcUrl   = "..." 

# or as a hashtable 
$DataFile = @{ 
    SharePointUrl = "..." 
    CcUrl   = "..." 
} 

и dot-source, что сценарий в оригинальном сценарии.

. 'C:\path\to\config.ps1' 
+0

Да, точно, я думаю, что это очень подходит и моей идее ..., спасибо! – user1692315

+0

Yup, моя оригинальная концепция была, у меня есть существующий файл данных, поэтому ваше второе решение немного лучше, perfeclty работает ..., так что спасибо! – user1692315

Смежные вопросы