尝试以编程方式创建新的 Windows 用户配置文件

尝试以编程方式创建新的 Windows 用户配置文件

尝试文章中提到的低影响解决方案:

我如何以编程方式创建新的 Windows 用户配置文件

建议以该用户的身份运行命令,使用适用于 Windows 的 psexec.exe 创建配置文件:

psexec.exe -u <domain/user name for AD user> -p <password> cmd.exe /c exit

我正在我创建的虚拟机本地运行它。收到消息:

PsExec could not start cmd.exe:
The user name or password is incorrect

有人能告诉我我做错了什么吗?我的目的是根据我设置的 AD 用户在 C:\Users 区域创建用户文件夹,而无需他们或我登录来切换此用户文件夹的创建。

答案1

您可能已经看过这个 ansible 模块 - win_user_profile。powershell 脚本(即 ansible 模块)可在此处找到:https://github.com/ansible-collections/community.windows/blob/3afe02165344bf46534a9b56766e68531addac43/plugins/modules/win_user_profile.ps1

您可能感兴趣的是第 35-58 行(创建 Ansible.WinUserProfile.NativeMethods 类的位置)和第 130 到第 146 行左右。您可以以此为基础制定自己的流程,或者至少它会为您指明实现目标的方向。

答案2

这是一个有点老的线程,但是我在寻找一种方法来在新的图像构建脚本中正确创建用户的配置文件文件夹结构时偶然发现了它,这种方法无法通过 GPO 等实现特定的自定义。

如果您使用用户凭据运行远程 powershell Invoke-Command,它将在 C:\Users 下构建用户配置文件夹(如果该文件夹尚不存在),然后您可以根据需要操作它以及 HKCU 注册表项。

此命令除了退出命令外不执行任何操作,但如果用户配置文件尚不存在,则会创建用户配置文件:

调用命令 -计算机名称 $computerVar -ScriptBlock {exit} -凭据 $credentialVar

显然,用户的凭证必须具有远程连接的权利,并且操作系统防火墙不能阻止所述连接,但除此之外,此命令至少会执行您所寻找的操作。

相关内容