Podpisywanie skryptów cyfrowo w programie Windows PowerShell

Zakończone

W przypadku korzystania ze skryptów programu Windows PowerShell w środowisku produkcyjnym należy przeprowadzić proces zatwierdzania w celu sprawdzenia, czy te skrypty zostały przetestowane. Proces zatwierdzania będzie się różnić w zależności od wielkości organizacji i poziomu biurokracji, ale powinien istnieć pewien proces zatwierdzania.

Jednym ze sposobów sformalizowania procesu zatwierdzania skryptów używanych w środowisku produkcyjnym jest cyfrowe podpisywanie skryptów i używanie zasad wykonywania skryptów AllSigned . Po zaimplementowaniu tych zasad wszelkie zmodyfikowane skrypty muszą zostać zaktualizowane przy użyciu nowego podpisu cyfrowego. Uniemożliwia to administratorom lub innym pracownikom wprowadzanie losowych zmian skryptów. Jeśli na przykład organizacja ma zestaw zatwierdzonych skryptów do zarządzania użytkownikami usług domena usługi Active Directory Services (AD DS), ta konfiguracja uniemożliwi personelowi pomocy technicznej modyfikowanie skryptów celowo lub przypadkowo.

Aby dodać podpis cyfrowy do skryptu, musisz mieć certyfikat podpisywania kodu, który jest zaufany przez wszystkie komputery, na których będzie uruchamiany skrypt. Zaufany certyfikat podpisywania kodu można uzyskać z publicznego urzędu certyfikacji. Można również uzyskać certyfikat podpisywania kodu z wewnętrznego urzędu certyfikacji, któremu ufają komputery.

Podpis cyfrowy można dodać przy użyciu polecenia cmdlet Set-AuthenticodeSignature , jak pokazano w poniższym kodzie:

$cert =  Get-ChildItem -Path "Cert:\CurrentUser\My" -CodeSigningCert
Set-AuthenticodeSignature -FilePath "C:\Scripts\MyScript.ps1" -Certificate $cert