SetEnvironmentVariable из целого числа, хранящегося в ячейке CSV - PullRequest
0 голосов
/ 25 мая 2018

У меня есть случай использования, когда я хочу иметь возможность записать номер порта в системную переменную среды, которая соответствует имени ПК, на котором выполняется сценарий.

Для этого у меня есть скрипт, который ищет имя Computername в csv-файле с двумя столбцами и записывает соответствующий номер порта устройства в системную переменную среды.Проблема в том, что я не могу получить скрипт для добавления номера порта в переменную среды.Если я поставлю скобки вокруг порта $ в последней строке.запись добавляется, но вместо номера порта добавляется строка $ port.Если бы кто-то мог оказать некоторую помощь, я был бы очень признателен.Заранее спасибо.

$COMPUTERNAME = "$env:COMPUTERNAME"
$data = import-csv "C:\PS stuff\Port assign.csv" | Where-Object 
{$_."computer" -eq "$COMPUTERNAME"}
$data | Select -ExpandProperty "port" $port
[System.Environment]::SetEnvironmentVariable('TCP_PORT', "$port", 
[System.EnvironmentVariableTarget]::User)

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Кажется, переменная $ port не была записана из-за того, как я структурировал свой код.Теперь оно было изменено на следующее, и все работает как требуется.Спасибо за всю помощь.

$COMPUTERNAME = "$env:COMPUTERNAME"
$data = import-csv "C:\PS stuff\Port assign.csv" | Where-Object 
{$_."computer" -eq "$COMPUTERNAME"}
$port = $data | Select -ExpandProperty "port"
[System.Environment]::SetEnvironmentVariable('TCP_PORT', "$port", 
[System.EnvironmentVariableTarget]::User)
0 голосов
/ 25 мая 2018
$port=Import-Csv -Path 'C:\PS stuff\Port assign.csv'| Where-Object {$_.computer -eq "$COMPUTERNAME"}|Select -ExpandProperty "port"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...