Правильное форматирование Powershell SSL Cert Где |FriendlyName как переменная $ - PullRequest
0 голосов
/ 13 октября 2019

Спасибо за чтение, я работаю над чем-то немного за пределами моего элемента и пытаюсь написать сценарий powershell, который может устанавливать некоторые SSL-сертификаты в некоторые продукты Veeam.

Это работает.

Add-PSSnapin VeeamPSSnapin
Connect-VBRServer
$certificate = Get-VBRCloudGatewayCertificate -FromStore | Where FriendlyName -like "*12/10/2019*"
Add-VBRCloudGatewayCertificate -Certificate $certificate
Disconnect-VBRServer 

Мне нужно, чтобы -like "*12/10/2019*" был переменной, вставляющей сегодняшнюю дату.

Я пытался использовать такую ​​переменную, как:

 $date = Get-Date -Format "MM/dd/yyyy"

Затем, используя

-like "*$date*" 

Я пробовал что-то подобное

-like "*(Get-Date -Format "MM/dd/yyyy")*"

Вот результат неудачной попытки с форматированием, рекомендованным ниже, и что Power Shell возвращает

Add-PSSnapin VeeamPSSnapin
Connect-VBRServer
$certificate = Get-VBRCloudGatewayCertificate -FromStore | Where FriendlyName -like "*$(Get-Date -Format "MM\/dd\/yyyy")*"
Add-VBRCloudGatewayCertificate -Certificate $certificate
Disconnect-VBRServer 

Возвращение Powershell

Add-VBRCloudGatewayCertificate: Невозможно проверить аргумент в параметре «Сертификат». Аргумент нулевой. Укажите допустимое значение для аргумента и попробуйте снова запустить команду. В строке: 5 символов: 45 + Add-VBRCloudGatewayCertificate -Сертификат $ Certificate + ~~~~~~~~~~~~ + CategoryInfo: InvalidData: (:) [Add-VBRCloudGatewayCertificate], ParameterBindingValidationException + FullyQualifiedErroramid. Параметр Vera. Backup.PowerShell.Cmdlets.AddVBRCloudGatewayCertificate

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

Спасибо, что посмотрели и помогли.

...