У меня есть следующий CSV-файл:
link,user,password
http://1.1.1.1,user1,password1
http://2.2.2.2,user2,password2
Используя этот скрипт, я могу извлечь значения link,user and password
заголовков
# Constants.
$DELIM = ','
#$CSV_F = 'C:\Users\user\Desktop\1.csv'
# Parse keys
$keys = (gc "${CSV_F}" -TotalCount 1).Split($DELIM)
$csv = Import-CSV "${CSV_F}"
$data = @()
# Iterate through CSV to build array of hashtables.
ForEach ($r in $csv) {
$tmp_h = @{}
# Create hash of key-value pairs.
ForEach($k in $keys) {
$tmp_h[$k] = $r.($k)
}
# Add hash to array of hashes.
$data += $tmp_h
}
# Display data
foreach($i in $data){
$link = $i.link
$user = $i.user
$password = $i.password
}
Вывод:
http://1.1.1.1
user1
пароль1
http://2.2.2.2
user2
password2
Поскольку этот CSV содержит конфиденциальные данные, я хочу скрыть его содержимое.
Я выполнил это следующим образом:
Protect-CmsMessage -To "*youralias@emailaddress.com*" -Path C:\Users\user\Desktop\1.csv -OutFile C:\Users\user\Desktop\1.csv.cms
Я также могу расшифровать его:
$CSV_F = Unprotect-CmsMessage -To "*youralias@emailaddress.com*" -Path .\1.csv.cms
я сохранил незашифрованное содержимое файла 1.csv.cms в переменную $ CSV_F
$CSV_F
link,user,password
http://1.1.1.1,user1,password1
http://2.2.2.2,user2,password2
Как проанализировать переменную $ CSV_F, чтобы получить то же самое ключ: значение пары, полученной при разборе файла CSV?
Я хочу избежать сохранения незашифрованного содержимого CSV в файл.
Желаемый вывод:
http://1.1.1.1
user1
password1
http://2.2.2.2
user2
password2