从 C# 表单应用程序中执行远程批处理文件

发布于 2024-08-07 04:27:51 字数 569 浏览 7 评论 0原文

我正在开发一个 VPN 拨号器,当使用以下方法连接成功时,该拨号器将执行登录脚本。

        Process p = new Process();
        try
        {
            p.StartInfo.UseShellExecute = true;
            p.StartInfo.FileName = @"\\serverName\NETLOGON\Script Test.cmd";
            p.Start();
            p.WaitForExit();
            }
        }

        catch (Exception ex)
        {

        }

批处理文件按照批处理文件中的记录方法正确执行,但驱动器并未准确映射以供用户使用。测试的其他批处理文件(本地和远程)具有相同的结果。

我假设这与应用程序域或 UAC 有关。完成的应用程序将在 Viata/7 上运行,并正在 Windows 7 上进行测试。如果

您能提供任何帮助,我们将不胜感激。

问候 伯特

I am working on a VPN dialer that will execute a login script when the connection is successfull using the following method.

        Process p = new Process();
        try
        {
            p.StartInfo.UseShellExecute = true;
            p.StartInfo.FileName = @"\\serverName\NETLOGON\Script Test.cmd";
            p.Start();
            p.WaitForExit();
            }
        }

        catch (Exception ex)
        {

        }

The batch file execute properly according to the logging methods in the batch file, but the drives are not acctualy mapped for the user to use. Other batch files tested (local & remote) have the same result.

I am assuming this has something to do with the application domain or UAC. The finished application will run on Viata/7 and is being tested on Windows 7.

Any help here would be greatly appreciated.

Regards
Bert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烛影斜 2024-08-14 04:27:51

映射驱动器存储在用户配置文件中。通常在用户登录时加载。访问配置文件相关资源的最常见方法是模拟用户。

这里有一个相对较差的 (PInvoke) 示例来说明如何执行此操作:
http://support.microsoft.com/kb/306158#4

但一般使用从脚本映射的驱动器是自找麻烦。恕我直言:)

希望有帮助,

Mapped Drives are stored in a users profile. Which typically gets loaded when the person logs in. The most common way to get access to profile associated resources is to impersonate the user.

There is a relationally poor (PInvoke) example of how to do this here:
http://support.microsoft.com/kb/306158#4

But generally using mapped drives from a script is asking for trouble. IMHO :)

Hope that helps,

Jan

↘人皮目录ツ 2024-08-14 04:27:51

您可以检查是否有异常发生。我看到 catch(Exception ex) 吞掉了你的异常。

You can check if there is any exception happened. I see catch(exception ex) swallows you exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文