我有两台机器,Say Machine1和Machine2。我已将Machine1中的Machine2中的一个共享文件夹映射为Z. 我开始一个应用程序说App1列出了所有机器驱动器,应用程序在Machine1中。我从Machine1启动了这个App1,我得到了所有的驱动器 包括映射的驱动器'Z'。但是当我使用WMI [Windows Management Instrumentation]从Machine2启动了Machine1中的App1时。用于WMI通信的代码如下所示。 App1列出除映射的网络驱动器“Z”之外的所有驱动器。 有没有办法列出Machine1的所有驱动器,即使我使用WMI从Machine2启动App1。
// Code to start application on remote machine.
ManagementPath path = new ManagementPath( string.Format( @"\\{0}\root\cimv2:Win32_Process", machine ) );
try
{
// Connect options include user name and password of the remote machine to connect.
ConnectionOptions options = new ConnectionOptions();
options.Username = UserName;
options.Password = Password;
ManagementPath path = new ManagementPath( string.Format( @"\\{0}\root\cimv2:Win32_Directory", machine ) );
ManagementScope scope = new ManagementScope( path, options );
if( scope != null )
{
ObjectGetOptions getOptions = new ObjectGetOptions();
ManagementClass cimInstance = new ManagementClass( scope, path, getOptions );
// Fill the necessary parameters for Create method of Win32 Process.
ManagementBaseObject inParams = cimInstance.GetMethodParameters( "Create" );
// Commandline is the full path of the application including the exe name.
inParams["CommandLine"] = commandLine;
// Execute the method and obtain the return values.
cimInstance.InvokeMethod( "Create", inParams, null );
}
}
我尝试使用.Net 2.0 Windows。
答案 0 :(得分:0)
映射驱动器是每用户设置。当您从其他计算机运行该应用程序时,它可能使用不同的用户帐户。