我正在客户现场调试一批刚刚交付的 Windows 7 系统。这些系统使用基本设置进行映像,其中包括客户所需的所有主要软件除了此应用程序所需的本地(非管理员)帐户。
我知道我可以运行net user
命令以编程方式添加所需的本地帐户。但是,此命令不会完全设置本地帐户。您仍然需要登录该帐户(并查看您的桌面正在准备中消息)在为该帐户执行完整的 Windows 配置之前。但我不想这样做 - 我只想运行我的 powershell 脚本并说“完成!”
那么运行之后,net user
是否可以通过命令行或 powershell 操作来触发完全充实帐户的过程?
编辑
我的最终目标是访问我正在创建的帐户的启动文件夹,以便我可以复制一些快捷方式。并通过 powershell 脚本完成所有这些操作不用户交互。
编辑2
虽然我需要在 powershell 2 下运行的解决方案,但我也有兴趣看到任何可以在更高版本的 powershell 下运行的解决方案
答案1
在 Wondows 7 Professional 中测试。
首先要说的是,你会看到您的桌面正在准备中首次登录时的消息。
但是:您的目标,添加启动快捷方式,是可以实现的并且可行。
创建一个包含以下内容的文件并将其作为 *.reg 文件保存到所需目标:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Lsa] "LimitBlankPasswordUse"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa] "LimitBlankPasswordUse"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "LimitBlankPasswordUse"=dword:00000000
这将启用空白密码帐户的交互式登录(参考文献1)(参考文献2)
启动提升的 cmd 提示符
导入注册表项
regedit.exe /s "C:\tmp\reg.reg"
创建您的用户帐户
net user /ADD <username>
以您创建的用户身份运行
runas
。我启动了 ping 并将其输出重定向到 NUL,以等待生成配置文件。echo | runas /env /profile /user:<username> "cmd /c ping 127.0.0.1 -n 5 >NUL"
为你的用户创建启动目录
mkdir "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
在启动文件夹中创建快捷方式,例如通过 powershell 脚本(例子)
完成。正如我提到的,首次登录时您会看到您的桌面正在准备中但启动工作正常。