Nvm-windows: باستخدام nvm مع محرك VBScript المحظور

تم إنشاؤها على ٢٣ أغسطس ٢٠١٨  ·  7تعليقات  ·  مصدر: coreybutler/nvm-windows

مرحبا، عندي سؤال. لدي جهاز كمبيوتر قام بحظر محرك VBScript بواسطة نهج المجال. هل من الممكن تشغيل nvm؟ لأنه حتى مع وجود موجه أوامر مرتفع (أو PS) ، سأحصل على معلومات حول محرك البرنامج النصي المفقود. هل هناك حل بديل لاستخدام nvm بدونها؟

التعليق الأكثر فائدة

أيضًا ، إذا قمت بتثبيت nvm-windows مع تعيين مسار NodeJS على مجلد محلي للمستخدم (مثل %USERPROFILE%\AppData\Local\nodejs ) ، يمكنك التبديل إلى التقاطعات وتخطي الارتفاع عن طريق استبدال محتويات %USERPROFILE%\AppData\Roaming\nvm\elevate.cmd بـ ما يلي:

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

يؤدي هذا إلى تنفيذ الأمر بدون ارتفاع ، مع استبدال mklink /D بـ mklink /J لإنشاء تقاطعات الدليل بدلاً من ذلك.

ال 7 كومينتر

لسوء الحظ ، لا توجد طريقة للقيام بذلك. يقوم VBScript بتشغيل أمر الارتفاع المطلوب لربط العقدة الرمزي في نظام الملفات.

سأكون منفتحًا على العلاقات العامة إذا كان لدى شخص ما بديل. سيكون الوضع المثالي هو تضمين هذا في تطبيق Go ، لكن لم يكن لدي الوقت الكافي لاستكشاف ذلك.

لدي شوكة تزيل تمامًا جزء الإذن المرتفع بالكامل ، استخدم الوصلات للرابط الرمزي. كمستخدم مقيد ، هذا يعمل بشكل جيد بالنسبة لي. يمكنك تجربة التصميم الخاص بي لمعرفة ما إذا كان ذلك مفيدًا ، ولكن لا يوجد سوى بناء noinstall .

و FYI ، في الواقع ، هناك مشكلة قديمة تتبع حول تقاطعات NTFS هنا .

@ h404bi شكرا على الكود! أحصل على Exit Code 5: Access Denied - ولكن عند التشغيل في cmd مرتفع - إنه يعمل (لم يعد vba مستخدمًا).

coreybutler هل لديك أي رأي في أي اتجاه ستسلك ، مع الأخذ في الاعتبار # 79؟

تضمين التغريدة
إذا كان لديك شيء يقع في C:\Program Files / C:\Program Files\nodejs أو مسار آخر يحتاج إلى إذن مرتفع ، فسيظل بحاجة إلى cmd مرتفع.

settings.txt

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

أستخدم nvm في مساحة المستخدم ، مما يعني أن جميع عناصر nvm والعقدة الخاصة بي مخزنة في %USERPROFILE% ، ولا حاجة للوصول إلى C:\Program Files ، لذلك يمكنني إدارة كل أشيائي مع مستخدم مقيد عادي ، بدون vbscript ، بدون نافذة UAC المنبثقة. أستخدمه على أجهزة WIndows 7 SP1 و Windows 10.

لكن كل هذا يعني أنني لا أستطيع إدارة nodejs المثبتة على مستوى النظام ، أعتقد أنه جيد بالنسبة لي ، ليس لدي nodejs مثبتة على مستوى النظام ، فقط استخدمها في مساحة المستخدم الخاصة بي ، كل الأشياء جيدة.

AllainPL - أميل إلى جعل نوع الارتباط الرمزي قابلاً للتكوين كإعداد. ومع ذلك؛ من المحتمل أن تكون هذه ميزة 2.XX ، لذلك لا يوجد وقت متوقع للوصول الفوري. بمجرد إطلاق Fenix ​​3 ، يجب أن يكون لدي المزيد من الوقت للتركيز على الإصدار التالي.

راجع للشغل: إذا قام المستخدم بتثبيت PowerShell ، فيمكنك تجنب استخدام VBScript لموجه UAC باستخدام سطر الأوامر التالي بدلاً من ذلك:

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

أيضًا ، إذا قمت بتثبيت nvm-windows مع تعيين مسار NodeJS على مجلد محلي للمستخدم (مثل %USERPROFILE%\AppData\Local\nodejs ) ، يمكنك التبديل إلى التقاطعات وتخطي الارتفاع عن طريق استبدال محتويات %USERPROFILE%\AppData\Roaming\nvm\elevate.cmd بـ ما يلي:

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

يؤدي هذا إلى تنفيذ الأمر بدون ارتفاع ، مع استبدال mklink /D بـ mklink /J لإنشاء تقاطعات الدليل بدلاً من ذلك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات