一台已加入AD域的电脑,这台加域的电脑使用的是普通域用户账户,在使用 NVM 切换 Nodejs 版本时需要管理员权限,提示权限的问题。如果切换每次都输入管理员密码,就比较麻烦,有没有什么办法可以不用每次切换都输管理员密码来进行切换呢?
解决办法
1. 把下面的内容复制到一个文本文件中,域名和管理员账户名根据自己实际的名称来修改,然后保存,文件名字自定义,我是用“nvm切换node版本.bat”做命名,后缀要改为bat。
格式:
runas /savecred /user:域名\管理员账户 “cmd.exe的路径”
如下我的域名是:XTYTNET
域的有管理员权限的用户是:admin
根据自己实际的情况来修改。
@echo off
color 1F
title XTYTNET Administrator
echo.
runas /savecred /user:XTYTNET\admin "C:\Windows\System32\cmd.exe"
pause
2. 双击运行“nvm切换node版本.bat”脚本文件,会出现一个蓝色的cmd提示符窗口,提示输入管理员账户admin的密码,输入密码后,就会打开一个新的cmd命令提示符窗口(这个cmd提示符窗口是管理员账户运行打开的,有管理员权限,这样就可以在这个cmd窗口进行切换node版本了)。
Tips:仅第一次运行打开bat脚本时需要输入管理员账户密码,后续再运行打开该bat脚本,就不用输入密码了的。
3. 在打开的cmd提示符窗口中,使用nvm进行切换node版本
1)可以使用nvm list
查看一下安装有哪些node的版本
2)使用nvm use 版本号
来切换
例:nvm use 9.11.2
3)再使用nvm list
查看一下版本是否切换成功
tips:版本号前面带有*星号说明切换成功,或使用node -v查看node版本,显示node版本号即是成功切换。
注:只有在运行的bat脚本打开的cmd命令提示符窗口中,才有权限执行 nvm use 版本号
进行切换。直接win+R键,输入cmd,打开的cmd窗口是没有管理员权限的,切换不了。