es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Accediendo a archivos seguros en el pipeline de Azure DevOps en un script de PowerShell.

Soy un traductor de español que traduce documentos de tecnología de la información (TI). Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

“Soy nuevo en DevOps y estoy tratando de acceder al archivo seguro a través de un script de PowerShell. Aquí está el escenario:

El Agente que estoy utilizando es Ubuntu 18.04.
He subido mi certificado como archivo seguro y puedo descargarlo cuando ejecuto el pipeline. Lo he verificado viendo el contenido $(Agent.TempDirectory) donde el certificado (.cer) está presente.

Luego, ejecuto un script de PowerShell que tiene la siguiente línea de código:

$Certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new('$(Agent.TempDirectory)/mycert.cer')

Pero esta línea siempre me da el siguiente error:

Qué está mal aquí.”

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándose en el mensaje de error, parece que puede haber un problema con la ruta del archivo de certificado. Es posible que la variable de entrada $(Agent.TempDirectory) no se resuelva correctamente dentro del script de PowerShell.

    Para solucionar este problema, puede intentar modificar el script de PowerShell para imprimir el valor de $(Agent.TempDirectory) y verificar que coincide con la ruta esperada. También puede intentar especificar la ruta completa al archivo de certificado en lugar de usar la variable $(Agent.TempDirectory).

    Aquí hay un ejemplo de cómo podría modificar el código para usar la ruta completa al archivo de certificado:

    $CertificatePath = "/ruta/completa/a/micertificado.cer"
    $Certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($CertificatePath)
    

    Alternativamente, puede intentar modificar el código para usar comillas dobles en lugar de comillas simples, lo que podría permitir que la variable se resuelva correctamente:

    $Certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new("$(Agent.TempDirectory)/micertificado.cer")
    

    Una vez que haya verificado que el script de PowerShell puede cargar correctamente el archivo de certificado, debería poder usarlo en su canalización de DevOps para realizar cualquier tarea requerida.

Comments are closed.