我认为这不是一个问题,但很想知道如何避免它
当.Net应用程序(用C#编写)在同一网络上的另一台机器上启动远程进程以进行psexec或ManagementScope调用时,它会在远程计算机上创建用户配置文件夹。
代表。让我们说,你的ID是-tom.cat,一旦远程进程完成,你导航到C:\ Users(Win7中的文件夹)有新的文件夹创建为“tom.cat”以及本地用户和其他用户登录到那个盒子。
无论如何都要避免创建这个文件夹吗?
答案 0 :(得分:0)
单独地,每个工具都有自己的方法,用于将用户登录到工作站,以便它可以创建以该用户身份运行的进程。
在引擎盖下,这可能看起来非常像:
LogonUser();
LoadUserProfile();
当然,这会导致创建配置文件。并且可能有一个非常好的理由为什么他们需要配置文件存在。也许他们需要定位用户环境的一部分,比如用户的TEMP目录。或者他们需要在HKEY_CURRENT_USER下的注册表中保留信息。
您可能拥有的唯一希望是在特定于工具的基础上,其中特定实用程序具有命令行arg,以使其在运行时不会尝试加载配置文件。当然,这可能会降低功能。例如,psexec
has the '-e' command line argument无法加载指定用户的个人资料。但要注意这对psexec正在启动的命令意味着什么。
ManagementScope的ConnectionOptions似乎没有允许您将呼叫定向为不加载配置文件的成员。