Nvm-windows: usando nvm com mecanismo VBScript bloqueado

Criado em 23 ago. 2018  ·  7Comentários  ·  Fonte: coreybutler/nvm-windows

Olá, tenho uma pergunta. Eu tenho um computador que bloqueou o mecanismo VBScript por política de domínio. É possível executar o nvm? Porque mesmo com o prompt de comando elevado (ou PS), ainda recebo as informações sobre o mecanismo de script ausente. Existe uma solução alternativa para usar o nvm sem ele?

Comentários muito úteis

Além disso, se você instalar o nvm-windows com o caminho NodeJS definido para uma pasta local do usuário (como %USERPROFILE%\AppData\Local\nodejs ), poderá alternar para junções e pular a elevação substituindo o conteúdo de %USERPROFILE%\AppData\Roaming\nvm\elevate.cmd por a seguir:

<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%

Isso executa o comando sem elevação, substituindo mklink /D por mklink /J para criar junções de diretório.

Todos 7 comentários

Infelizmente, não há como fazer isso. O VBScript executa o comando de elevação, que é necessário para vincular o nó ao sistema de arquivos.

Eu estaria aberto a relações públicas se alguém tiver uma alternativa. A situação ideal seria incorporar isso no aplicativo Go, mas não tive tempo suficiente para explorar isso.

Eu tenho um fork que remove totalmente toda a parte de permissão elevada, use junções para link simbólico. Como usuário restrito, isso funciona bem para mim. Você pode tentar minha compilação para ver se isso ajuda, mas há apenas noinstall build.

E para sua informação, na verdade, há um antigo problema de rastreamento sobre junções NTFS aqui .

@ h404bi Obrigado pelo código! Eu recebo um Exit Code 5: Access Denied - no entanto, ao executar em cmd elevado - funciona (o vba não é mais usado).

@coreybutler você tem alguma opinião sobre qual direção você irá, considerando o #79?

@AllainPL
Se você tiver algo localizado em C:\Program Files / C:\Program Files\nodejs ou outro caminho que precise de permissão elevada, ainda precisará de um cmd elevado.

configurações.txt

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

Eu uso nvm no espaço do usuário, o que significa que todos os meus materiais de nvm e node são armazenados em meu %USERPROFILE% , não há necessidade de acessar C:\Program Files , para que eu possa gerenciar todas as minhas coisas com um usuário restrito normal , sem vbscript, sem pop-up UAC. Eu o uso em minhas máquinas Windows 7 SP1 e Windows 10.

Mas tudo isso significa que eu não consegui gerenciar os nodejs instalados em todo o sistema, acho que está tudo bem para mim, não tenho nodejs instalados em todo o sistema, apenas use esse no meu espaço de usuário, tudo de bom.

@AllainPL - minha inclinação é tornar o tipo de link simbólico configurável como uma configuração. No entanto; isso provavelmente seria um recurso 2.XX, portanto, não há previsão de chegada imediata. Assim que lançar o Fenix ​​3, devo ter muito mais tempo para me concentrar no próximo lançamento.

BTW: se o usuário tiver o PowerShell instalado, você poderá evitar o uso do VBScript para um prompt do UAC usando a seguinte linha de comando:

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

Além disso, se você instalar o nvm-windows com o caminho NodeJS definido para uma pasta local do usuário (como %USERPROFILE%\AppData\Local\nodejs ), poderá alternar para junções e pular a elevação substituindo o conteúdo de %USERPROFILE%\AppData\Roaming\nvm\elevate.cmd por a seguir:

<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%

Isso executa o comando sem elevação, substituindo mklink /D por mklink /J para criar junções de diretório.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

SufyanParkar picture SufyanParkar  ·  4Comentários

thany picture thany  ·  4Comentários

tomByrer picture tomByrer  ·  4Comentários

ctsstc picture ctsstc  ·  3Comentários

eliavmaman picture eliavmaman  ·  6Comentários