Как я могу удалить подпись с Powershell? - PullRequest
1 голос
/ 18 декабря 2009

так с

$filestosign = (dir -recurse-include *.ps1)
Set-AuthenticodeSignature $filestosign $signingcert

я могу подписать все мои файлы ps1 в папке. Но есть ли быстрый способ отменить это снова?

Ответы [ 2 ]

1 голос
/ 19 декабря 2009

Я немного поиграл и пришел к этому решению: Подпись добавляется в конце файла. Я ищу строку «SIG # Начать блок подписи», чтобы узнать номера Linen, которые мне больше не нужны, отобразить остаток и написать обратно:

function remove-signature ($signedFile = "D:\ps10\test.ps1")
{
$filecontent = Get-Content $signedFile
$filecontent[0..(((Get-Content $signedFile | select-string "SIG # Begin signature block").LineNumber)-2)] | Set-Content $signedFile
}

Думаю, это должно сработать. Первой моей мыслью было найти способ выделить область между двумя строками: «SIG # Begin» и «SIG # End». Я просто хотел бы узнать, как я мог это сделать.

1 голос
/ 18 декабря 2009

Я подозреваю, что это не тот ответ, на который вы надеялись, но я почти уверен, что нет командлета «Remove-AuthenicodeSignauture», который поможет вам.

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

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