Nvm-windows: utiliser nvm avec le moteur VBScript bloqué

Créé le 23 août 2018  ·  7Commentaires  ·  Source: coreybutler/nvm-windows

Salut, j'ai une question. J'ai un ordinateur qui a bloqué le moteur VBScript par la politique de domaine. Est-il possible d'exécuter nvm ? Parce que même avec une invite de commande élevée (ou PS), j'obtiens toujours les informations sur le moteur de script manquant. Existe-t-il une solution de contournement pour utiliser nvm sans lui?

Commentaire le plus utile

De plus, si vous installez nvm-windows avec le chemin NodeJS défini sur un dossier local de l'utilisateur (tel que %USERPROFILE%\AppData\Local\nodejs ), vous pouvez passer aux jonctions et ignorer l'élévation en remplaçant le contenu de %USERPROFILE%\AppData\Roaming\nvm\elevate.cmd par ce qui suit:

<strong i="8">@setlocal</strong>
<strong i="9">@echo</strong> off
set CMD=%*
REM Old 'elevate.cmd' commands...
REM set APP=%1
REM start wscript //nologo "%~dpn0.vbs" %*

REM New 'elevate.cmd' commands...
%CMD:mklink /D=mklink /J%

Cela exécute la commande sans élévation, en remplaçant mklink /D par mklink /J pour créer des jonctions de répertoires à la place.

Tous les 7 commentaires

Malheureusement, il n'y a aucun moyen de le faire. Le VBScript exécute la commande d'élévation, qui est nécessaire pour lier symboliquement le nœud au système de fichiers.

Je serais ouvert aux relations publiques si quelqu'un a une alternative. La situation idéale serait d'intégrer cela dans l'application Go, mais je n'ai pas eu assez de temps pour explorer cela.

J'ai un fork qui supprime totalement toute la partie autorisation élevée, utilise des jonctions pour le lien symbolique. En tant qu'utilisateur restreint, cela fonctionne bien pour moi. Vous pouvez essayer ma construction pour voir si cela aide, mais il n'y a que noinstall construction.

Et pour votre information, en fait, il existe un ancien problème de suivi des jonctions NTFS ici .

@h404bi Merci pour le code ! Je reçois un Exit Code 5: Access Denied - cependant lors de l'exécution en cmd élevé - cela fonctionne (le vba n'est plus utilisé).

@coreybutler avez-vous une opinion sur la direction dans laquelle vous allez, compte tenu du #79 ?

@AllainPL
Si vous avez quelque chose qui se trouve dans C:\Program Files / C:\Program Files\nodejs ou un autre chemin qui nécessite une autorisation élevée, il aura toujours besoin d'une cmd élevée.

paramètres.txt

root: C:\Users\<omitted>\path\to\nvm-windows\nodejs
arch: 64
proxy: none

J'utilise nvm dans l'espace utilisateur, ce qui signifie que tous mes éléments nvm et nœuds sont stockés dans mon %USERPROFILE% , pas besoin d'accéder à C:\Program Files , donc je pourrais gérer toutes mes choses avec un utilisateur restreint normal , sans vbscript, sans pop-up UAC. Je l'utilise sur mes machines Windows 7 SP1 et Windows 10.

Mais tout cela signifie que je ne pouvais pas gérer les nodejs installés à l'échelle du système, je pense que ça me va, je n'ai pas de nodejs installés à l'échelle du système, utilisez simplement celui-ci dans mon espace utilisateur, tout va bien.

@AllainPL - mon penchant est de rendre le type de lien symbolique configurable en tant que paramètre. Toutefois; ce serait très probablement une fonctionnalité 2.XX, donc pas d'ETA immédiate. Une fois que j'aurai sorti Fenix ​​3, je devrais avoir beaucoup plus de temps pour me concentrer sur la prochaine version.

BTW : Si l'utilisateur a installé PowerShell, vous pouvez éventuellement éviter d'utiliser VBScript pour une invite UAC en utilisant à la place la ligne de commande suivante :

powershell -NoLogo Start -Verb:RunAs -Wait -FilePath:<executable> -ArgumentList:<args>

De plus, si vous installez nvm-windows avec le chemin NodeJS défini sur un dossier local de l'utilisateur (tel que %USERPROFILE%\AppData\Local\nodejs ), vous pouvez passer aux jonctions et ignorer l'élévation en remplaçant le contenu de %USERPROFILE%\AppData\Roaming\nvm\elevate.cmd par ce qui suit:

<strong i="8">@setlocal</strong>
<strong i="9">@echo</strong> off
set CMD=%*
REM Old 'elevate.cmd' commands...
REM set APP=%1
REM start wscript //nologo "%~dpn0.vbs" %*

REM New 'elevate.cmd' commands...
%CMD:mklink /D=mklink /J%

Cela exécute la commande sans élévation, en remplaçant mklink /D par mklink /J pour créer des jonctions de répertoires à la place.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

SufyanParkar picture SufyanParkar  ·  4Commentaires

David263 picture David263  ·  3Commentaires

leiamac picture leiamac  ·  4Commentaires

keylowgee picture keylowgee  ·  6Commentaires

snerte picture snerte  ·  5Commentaires