подписывание скриптов PowerShell - PullRequest
2 голосов
/ 01 сентября 2010

Я пытаюсь подписать свои сценарии PowerShell, чтобы я мог выполнить их без проблем. В моей системе создан сертификат для подписи кода, и я могу просматривать его из PowerShell. Когда я иду, чтобы подписать это, я продолжаю получать ошибки

PS C:\xxadmin> get-childitem cert:\CurrentUser\my -codesign


    Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\my


Thumbprint                                Subject
----------                                -------
6B43052FDE320530CD77B260CC9BD046B68D2351  CN=PowerShell User


PS C:\xxadmin>

Попытка подписи с помощью следующей команды.

Set-AuthenticodeSignature C:\xxadmin\iisbackup.ps1 @ (get-childitem cert:\CurrentUser\My -codesigning) [0]

Это ошибка, которую я получаю.

Нераспознанный токен в исходном тексте. В строка: 1 символ: 52 + Set-AuthenticodeSignature C: \ xxadmin \ iisbackup.ps1 <<<< @ (get-childitem cert: \ CurrentUser \ My -кодизайн) [0] + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: UnrecognizedToken </p>

Также после подписания этого скрипта мне нужно будет установить сертификат на каждую машину, на которой я хочу выполнить скрипт?

1 Ответ

4 голосов
/ 02 сентября 2010

@ должно быть прямо рядом с открытием (.То же самое относится к индексатору [0] и закрывающему ), например:

Set-AuthenticodeSignature C:\xxadmin\iisbackup.ps1 `
    @(get-childitem cert:\CurrentUser\My -codesigning)[0]

Относительно вашего другого вопроса, это зависит от типа используемого вами сертификата.Если он генерируется самостоятельно, тогда да, вам нужно будет скопировать его на каждую машину.Если это официальный сертификат типа Verisign, вам не нужно устанавливать его на других компьютерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...