![我们如何运行登录脚本来挂载驱动器 UAC?](https://linux22.com/image/679284/%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E8%BF%90%E8%A1%8C%E7%99%BB%E5%BD%95%E8%84%9A%E6%9C%AC%E6%9D%A5%E6%8C%82%E8%BD%BD%E9%A9%B1%E5%8A%A8%E5%99%A8%20UAC%EF%BC%9F.png)
我们有一个小环境,我们正在使用 login.bat 文件设置可安装驱动器,我们这样做的原因是因为我们的脚本首先测试是否为该用户创建了文件夹,如果是,则创建一个文件夹,最后安装该驱动器。
我们的问题是,当我们登录时,脚本会失败,因为它会以管理员帐户运行“net use”,这是启用 UAC 时的默认设置。我们调查后发现 launchapp.wsf 和 Microsoft 网站上的相关信息,但这些脚本编写得不好,代码有错误。
我们不想禁用 UAC 并损害安全性,我们想使用脚本,因为我们想测试文件夹是否存在,因此我们不能使用 GPO 来挂载驱动器。
@echo off
net use h: /delete /yes
if not exist "\\domain.com\user\%username% mkdir "\\domain.com\user\%username%"
net use h: "\\domain.com\user\%username%
label h: HOME
TLDR:我们如何让具有 UAC 的计算机通过登录脚本以本地用户而不是管理员身份安装驱动器,哪些 launchapp.wsf 脚本变体对您有用?
答案1
这是我的(存储在 \DomainController\SYSVOL\domain.local\scripts 中)然后,在 AD 用户 > 属性 > 配置文件 > 登录脚本 > login.bat 中,此脚本添加了 QRXPU 和 S 卷。
@Echo OFF
ECHO "Please Wait..."
REM net use /d Q:
NET USE Q: >nul
IF %ERRORLEVEL% NEQ 0 (net use q: \\hqfile01\Q)
REM net use /d R:
NET USE R: >nul
IF %ERRORLEVEL% NEQ 0 (net use R: \\hqfile02\Downloads)
REM net use /d X:
NET USE X: >nul
IF %ERRORLEVEL% NEQ 0 (net use X: \\hqfile01\Audio)
REM net use /d P:
NET USE P: >nul
IF %ERRORLEVEL% NEQ 0 (net use P: "\\hqfile02\CopierStore\%username%")
REM net use /d U:
NET USE U: >nul
IF %ERRORLEVEL% NEQ 0 (net use U: "\\hqfile01\Users\%username%")
REM net use /d S:
NET USE S: >nul
IF %ERRORLEVEL% NEQ 0 (net use S: \\hqfile02\Scratch)
:DONE
我的用户都不是管理员,并且 UAC 已打开。一切正常。