Answers:
没错,除非您至少具有Windows 7(或Vista)专业版,否则将禁用此MMC管理单元。
您应该能够使用net user命令配置用户属性:
net user UserName /scriptpath:logon.bat
脚本位置:
本地登录脚本必须存储在名为Netlogon的共享文件夹(或共享文件夹的子文件夹)中。如果默认情况下不存在此文件夹,则必须创建它。若要指定存储在Netlogon文件夹的子文件夹中的登录脚本,请在文件名之前添加该文件夹的相对路径。例如,要将在\ ComputerName \ Netlogon \ FolderName中存储的Startup.bat登录脚本分配给本地用户,请在Logon脚本中输入FolderName \ Startup.bat
\\servername\Netlogon为此共享。如果您提供相对路径,则会在DC的Netlogon份额中查找。(独立系统的行为未知。)但是您可以给出一个绝对路径,例如C:\WINDOWS\Misc\logon.cmd。
/scriptpath:path您不能使用绝对路径。
我为解决此问题所做的摘要:
C:\Windows\System32\repl\import\scripts\<username>.batnet user <username> /scriptpath:<username>.bat因为Windows 7 Home不会等到该脚本完成并继续加载其他应用程序,所以我还需要在注册表中创建一个DWORD名为RunLogonScriptSyncat 的条目,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon将值设置为1。
如果您希望脚本在系统启动的早期运行,或者需要脚本同步运行,则可接受的答案是执行此操作的方法-也就是说,正常的登录过程仅在脚本完成后继续(注意,会降低登录速度,请仅在需要时使用它)。
注意:我不确定上述脚本是否可以是.exe文件,但是在方法中,我将描述可以使用的任何可执行文件。
另一种执行方法(具有一些额外的灵活性)是使用Task Scheduler。在开始菜单中,键入Task Scheduler并运行它(或taskschd.msc从Run对话框或外壳程序运行)。Task Scheduler Library在树形视图中选择。如果需要,可以为程序创建一个特殊的子文件夹,但这不是必需的。单击Create Basic Task...(向导)或Create Task...在Actions右侧面板中。
我将解释如何使用Create Task...。
General标签中,填写描述性名称,以及可选的任务描述。Triggers标签中,点击New...,设置Begin the task为At log on。选中Specific user组合框,确保选择了您的用户名(Any user如果要让该程序在任何用户登录时运行,则可以使用)。如果您不想让脚本减慢登录过程的速度,则可以选择在延迟后运行它-单击Delay task for复选框并输入时间(例如30 seconds)。单击确定以创建触发器。Actions标签中,点击New...,使用选择您的程序(或脚本),Browse...或在中输入完整路径Program\program。如果程序位于您的%Path%中,则可以使用program。您可以在中指定要传递给程序的任何参数Add arguments。您可以在中指定程序的工作目录Start in。您可以使用本地计算机支持的任何类型的脚本。如果脚本类型未在Windows中注册,则仍可以通过将脚本解释器指定为程序来运行它。例如,C:\path\to\python.exe用作程序和C:\path\to\script.py some_arguments参数。单击确定以创建操作。Conditions标签中,您可能要取消选中Start the task only if the computer is on AC power。Settings选项卡中,无需更改任何内容。单击确定以创建计划的任务。如果以后要编辑它,只需Task Scheduler Library在树视图中选择,然后在列表中(在窗口顶部)找到您的任务,然后双击该任务。
有关更多信息,请参见任务计划程序参考。
发生系统错误5。
访问被拒绝。
如果在运行net user命令时收到这样的错误,请确保以管理员身份运行CMD(使用右键单击并选择“以管理员身份运行”)!