我正在使用安装了Active Directory的MS Server 2012 R2 64位。 我想在用户login到计算机时执行一些批处理脚本。 这些脚本使用“reg add / query”命令来检查registry项是否存在,如果不存在,它将创build它并为新项设置一个值。 我遇到的问题是,似乎每当脚本运行时,用户执行,脚本试图执行reg add / query命令,它会得到一个“访问被拒绝”消息。 以下是我的批处理脚本的示例:
reg query HKCU\Software\myownkey >null 2>&1 if %ERRORLEVEL%% NEQ 0 ( echo myownkey doesn't exist. Must create it. reg add HKCU\Software /v myownkey /t REG_DWORD /f /d 1 >null 2>&1 ) PAUSE
当用户login到机器上时,脚本被执行,然后暂停,这样我可以看到脚本是否正确执行。 我所看到的是它每次尝试查询/添加registry时都会打印“访问被拒绝”。
任何人都知道如何解决这个问题? 我最好使用powershell脚本,而不会遇到这个问题?
先进的谢谢你!
在NUL不要加倍L :
reg query HKCU\Software\myownkey >NUL 2>&1
>null尝试将命令输出redirect到当前目录中名为null的文件 ,该文件应该是C:\Windows或C:\Windows\system32 。
NUL
空设备是丢弃写入到它的所有数据的特殊文件,但报告写入操作成功。
它通常用于隐藏命令的输出(或错误输出)。
例如
SomeCommand >nul
Nul没有提供任何数据给从它读取的任何进程(立即产生EOF)有关更多示例,请参阅redirect页面。