登录脚本映射网络驱动器

登录脚本映射网络驱动器

我正在尝试向域用户隐藏共享文件夹的网络路径。(Windows 2013)我在搜索网络驱动器标签时发现了此脚本。

$a = New-Object -ComObject shell.application
$a.NameSpace( "H:\" ).self.name = "Network Drive "

如果我通过手动打开 power shell 来运行脚本,它会成功标记网络共享并向用户隐藏网络路径。

请指导我如何将其制作成登录脚本,以便当用户登录时,该脚本将运行并且他/她的网络驱动器将被重命名。

我对 Windows 脚本一无所知。所以我需要一步一步的帮助才能使其工作。

答案1

由于你已经拥有电源外壳逻辑按照您确认的方式工作,您只需要知道如何从登录脚本中使其工作,只需根据需要将下面提供的逻辑示例附加到您的逻辑中即可。只需确保在此逻辑运行之前运行映射驱动器的逻辑即可。

我提供了通过 Active Directory 用户和计算机设置登录脚本 您可以查看有关设置登录脚本的更多详细信息,这是一项相对简单的任务。

如果您使用的是批处理脚本,只需将逻辑附加到流程末尾,如下所示。如果您使用的是 VB 脚本,请参阅运行 VBScript 文件点击此处查看objShell.Run "c:\batch\test.cmd"示例,但您需要创建并指向\\DomainController\sysvol\<domain>\scripts\<Batch>.cmd

批量登录脚本示例

我测试并确认,这在 Windows PC 上的域环境中使用来自域用户帐户的登录脚本可以按预期工作。

<your existing batch login script logic up here>
<you will ensure the logic to map the drives has already been run>

SET TmpPSScript=%Temp%\~tmp_RenameDrive.ps1
IF EXIST "%TmpPSScript%" DEL /Q /F "%TmpPSScript%"
ECHO $a = New-Object -ComObject shell.application >>"%TmpPSScript%"
ECHO $a.NameSpace( "H:\" ).self.name = "Homes"    >>"%TmpPSScript%"

SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%TmpPSScript%'"

EXIT

其他资源

相关内容