Запретить показ конфиденциальной информации при установке службы с помощью Topshelf - PullRequest
0 голосов
/ 23 декабря 2019

Как предотвратить отображение конфиденциальной информации при установке службы с помощью Topshelf. Я устанавливаю службу Windows, используя TopShelf. Но когда я вызываю команду для установки службы, я получаю журнал, подобный приведенному ниже, в котором виден пароль. Как это предотвратить. Команда вызывается, как показано ниже.

Код установки

$exeArgs = @("install -e `"$HostingEnvironment`" -u `"$saUsername`" -p `"$saPassword`"")
Start-Executable $appExeFullPath $exeArgs $LogFile

Запись в файле журнала. Следующая строка не является частью моего кода. Как предотвратить регистрацию этой строки.

Running command `'C:\HostedApps\Apps\ExD\ExD.Api.exe install -e "Development" -u "username@abc.com" -p "the password"'`

1 Ответ

0 голосов
/ 23 декабря 2019

Я бы предложил здесь 2 варианта:

1) Перейти с безопасной строкой

$secure = read-host -assecurestring

2) Перейти с зашифрованной строкой

$Secure
System.Security.SecureString
$Encrypted = ConvertFrom-SecureString -SecureString $Secure
$Encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41
$Secure2 = ConvertTo-SecureString -String $Encrypted
$Secure2
System.Security.SecureString
...