J'aimerais utiliser les différentes commandes du module PKI
de Powershell 5:
$ Get-Command -module PKI
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Add-CertificateEnrollmentPolicyServer 1.0.0.0 PKI
Cmdlet Export-Certificate 1.0.0.0 PKI
Cmdlet Export-PfxCertificate 1.0.0.0 PKI
Cmdlet Get-Certificate 1.0.0.0 PKI
Cmdlet Get-CertificateAutoEnrollmentPolicy 1.0.0.0 PKI
Cmdlet Get-CertificateEnrollmentPolicyServer 1.0.0.0 PKI
Cmdlet Get-CertificateNotificationTask 1.0.0.0 PKI
Cmdlet Get-PfxData 1.0.0.0 PKI
Cmdlet Import-Certificate 1.0.0.0 PKI
Cmdlet Import-PfxCertificate 1.0.0.0 PKI
Cmdlet New-CertificateNotificationTask 1.0.0.0 PKI
Cmdlet New-SelfSignedCertificate 1.0.0.0 PKI
Cmdlet Remove-CertificateEnrollmentPolicyServer 1.0.0.0 PKI
Cmdlet Remove-CertificateNotificationTask 1.0.0.0 PKI
Cmdlet Set-CertificateAutoEnrollmentPolicy 1.0.0.0 PKI
Cmdlet Switch-Certificate 1.0.0.0 PKI
Cmdlet Test-Certificate 1.0.0.0 PKI
Cependant en cours d'exécution Install-Module -Name PKI
Retour
No match was found for the specified search criteria and module name 'PKI'
Il y a PSPKI
, mais PSPKI est un module tiers qui a une API et des commandes différentes:
Get-Command -Module PSPKI
CommandType Name Version Source
----------- ---- ------- ------
Alias Add-AIA 3.3.0.0 PSPKI
Alias Add-CAACL 3.3.0.0 PSPKI
Alias Add-CDP 3.3.0.0 PSPKI
Alias Connect-CA 3.3.0.0 PSPKI
Alias Disable-CRLFlag 3.3.0.0 PSPKI
Alias Disable-KRAFlag 3.3.0.0 PSPKI
Alias Enable-CRLFlag 3.3.0.0 PSPKI
Alias Enable-KRAFlag 3.3.0.0 PSPKI
Alias Get-AIA 3.3.0.0 PSPKI
Alias Get-CA 3.3.0.0 PSPKI
Alias Get-CAACL 3.3.0.0 PSPKI
Alias Get-CDP 3.3.0.0 PSPKI
Alias Get-CRL 3.3.0.0 PSPKI
Alias Get-CRLFlag 3.3.0.0 PSPKI
Alias Get-CTL 3.3.0.0 PSPKI
Alias Get-KRAFlag 3.3.0.0 PSPKI
Alias Remove-AIA 3.3.0.0 PSPKI
Alias Remove-CAACL 3.3.0.0 PSPKI
Alias Remove-CDP 3.3.0.0 PSPKI
Alias Remove-Request 3.3.0.0 PSPKI
Alias Restore-CRLFlagDefault 3.3.0.0 PSPKI
Alias Restore-KRAFlagDefault 3.3.0.0 PSPKI
Alias Set-CAACL 3.3.0.0 PSPKI
Alias Set-CDP 3.3.0.0 PSPKI
Alias Show-CRL 3.3.0.0 PSPKI
Alias Show-CTL 3.3.0.0 PSPKI
Function Convert-PemToPfx 3.3.0.0 PSPKI
Function Convert-PfxToPem 3.3.0.0 PSPKI
Function Get-CertificateContextProperty 3.3.0.0 PSPKI
Function Get-CertificateRequest 3.3.0.0 PSPKI
Function Get-CertificateRevocationList 3.3.0.0 PSPKI
Function Get-CertificateTrustList 3.3.0.0 PSPKI
Function Get-CryptographicServiceProvider 3.3.0.0 PSPKI
Function Get-EnrollmentPolicyServerClient 3.3.0.0 PSPKI
Function Get-ErrorMessage 3.3.0.0 PSPKI
Function Get-ObjectIdentifier 3.3.0.0 PSPKI
Function Get-ObjectIdentifierEx 3.3.0.0 PSPKI
Function New-SelfSignedCertificateEx 3.3.0.0 PSPKI
Function Ping-ICertInterface 3.3.0.0 PSPKI
Function Receive-Certificate 3.3.0.0 PSPKI
Function Register-ObjectIdentifier 3.3.0.0 PSPKI
Function Show-Certificate 3.3.0.0 PSPKI
Function Show-CertificateRevocationList 3.3.0.0 PSPKI
Function Show-CertificateTrustList 3.3.0.0 PSPKI
Function Start-PsFCIV 3.3.0.0 PSPKI
Function Submit-CertificateRequest 3.3.0.0 PSPKI
Function Test-WebServerSSL 3.3.0.0 PSPKI
Function Unregister-ObjectIdentifier 3.3.0.0 PSPKI
Comment installer le module PKI
sur Powershell Core 6?
Le module PKI peut être importé à l'aide de
Import-Module -Name C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PKI\pki.psd1
sur PowerShell v6.0.4
ou
Import-Module -Name C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PKI\pki.psd1 -SkipEditionCheck
sur PowerShell v6.1 release candidate 1
MAIS les deux applets de commande que j'ai testées n'ont pas pu s'exécuter
PS> Get-Certificate
Get-Certificate : The type initializer for '<Module>' threw an exception.
At line:1 char:1
+ Get-Certificate
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], TypeInitializationException
+ FullyQualifiedErrorId : System.TypeInitializationException
PS> Test-Certificate -Cert Cert:\LocalMachine\My\494D1D7AFE42DD86D3968814CD4530AF29288BE1 -AllowUntrustedRoot
Test-Certificate : The type initializer for '<Module>' threw an exception.
At line:1 char:1
+ Test-Certificate -Cert Cert:\LocalMachine\My\494D1D7AFE42DD86D396881 ...
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], TypeInitializationException
+ FullyQualifiedErrorId : System.TypeInitializationException
Ce qui signifie que vous ne pourrez pas utiliser les applets de commande directement dans PowerShell v6.x pour le moment.
Ce que vous pouvez faire est de créer une session d'accès distant PowerShell (WinRM) sur la machine locale, puis d'importer le module PKI dans cette session. Cela vous donnerait des fonctions proxy pour les applets de commande que vous pourriez utiliser à partir de PowerShell v6. Vous devez répéter l'importation si vous souhaitez utiliser le module PKI dans une autre session PowerShell v6