Clave del powershell para el registro [AYUDA]

Iniciado por .:Xx4NG3LxX:., 24 Diciembre 2019, 16:45 PM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

#10
Cita de: .:Xx4NG3LxX:. en 19 Enero 2020, 03:30 AM
Al leer la clave del Registro SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\ConsoleHostAssemblyName se produce el siguiente error Win32:
    El sistema no puede encontar el archivo especificado.

1. Busca ese archivo .dll en el siguiente directorio del GAC:

  • C:\Windows\assembly\GAC_MSIL\Microsoft.PowerShell.ConsoleHost\1.0.0.0__31bf3856ad364e35

2. Copia el archivo .dll al directorio especificado en el script de registro que has usado.




1. ALTERNATIVA:
Si no encuentras la dll en el directorio del GAC entonces deberás hacer una búsqueda en el buscador del explorador de Windows, en todo el sistema de archivos. Si no has borrado la dll, el buscador la encontrará. Y si el buscador devuelve múltiples coincidencias del mismo nombre de archivo entonces deberás elegir la dll correcta (obviamente), y eso lo harás comprobando que la dll tenga el mismo nombre seguro (strong-name) que está especificado en el valor 'ConsoleHostAssemblyName' de ese script de registro que has usado:

  • "Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=msil"
...es decir, la dll correcta debe tener misma versión del archivo, misma arquitectura y mismo token de clave pública. Todo esto lo puedes comprobar facilmente con la siguiente extensión de shell que desarrollé para analizar metadatos de ensamblados .NET:

(o puedes usar dnspy si lo prefieres, entre otros)








.:Xx4NG3LxX:.

GRACIAS A TODOS!!!. Si tengo algún otro error, se los comento, a ver si me ayudan...

PD: SIN PD... XDXDXD
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



.:Xx4NG3LxX:.

Ah no! Es el colmo...

Ahora me lanza de nuevo el mismo error de antes... Ya verifique el nombre del archivo, y nada que funciona.

Alguna ayuda más... Sino gracias de igual forma. Supongo que si no hay salvación, me tendré que rendir...

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



EdePC

- Acabo de eliminar la clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell y la he podido restaurar con solo estas:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine]
"PowerShellVersion"="2.0"
"RuntimeVersion"="v2.0.50727"
"ConsoleHostAssemblyName"="Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=msil"
"ApplicationBase"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0"



- Elektro comenta sobre el Public Key Token a utilizar, en mi caso: 31bf3856ad364e35, yo lo he encontrado en el archivo: C:\Windows\assembly\Microsoft.PowerShell.ConsoleHost, a este le doy click derecho > propiedades y ahí aparece el Public Key Token que se tiene que utilizar.

- PowerShell me funciona correctamente de nuevo, al menos con lo poco que lo he utilizado.

.:Xx4NG3LxX:.

Lo probaré a ver que tal, y comento luego
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



.:Xx4NG3LxX:.

Ah no! Iba a ejecutarlo y...

Citar
Error de inicialización de CLR: 80131702.

Solucion?

Perdón por tanta molestia :(
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



.:Xx4NG3LxX:.

Además tengo otro problema, pero esta vez es con el powershell_ise.exe.

Pero ya abriré otro tema... ¡A ver si me ayudan!

ALERTA DE SPOILER XD: ERROR (0xc0000135)
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



Eleкtro

pff... al parecer lo tienes todo muy "revuelto". Si no quieres reinstalar el S.O para reparar todos los errores entonces deberías probar a instalar el mismo Windows 7 en una máquina virtual (usando el programa VirtualBox o VMWare Player), iniciar sesión en el S.O huesped para exportar las claves por defecto relacionadas con Powershell (lo puedes hacer con el programa Redegit), y por último importar dichas claves en el S.O anfitrión.

Antes de reinstalar también podrías probar el programa Windows Repair ( https://www.tweaking.com/content/page/windows_repair_all_in_one.html ) para restaurar ciertas claves a su valor por defecto, o mejor, activar todas las opciones disonibles e iniciar la reparación del sistema... aunque desconozco si el programa soporta Windows 7.

PD: ¿y que importancia tienen para ti los errores de la IDE de Powershell (powershell_ise.exe) si en teoría no lo usas?.

CitarALERTA DE SPOILER XD: ERROR (0xc0000135)

Ok... siempre puedes buscar posibles soluciones a ese código de error, en Google.








.:Xx4NG3LxX:.

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



.:Xx4NG3LxX:.

Bueno, muchísimas gracias a todos!

Supongo que buscaré otra alternativa...

CIERRO EL TEMA, A MENOS QUE HAYA UN/OS APORTE/S MÁS
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"