-1

http://www.lansweeper.com/には、ユーザーが Web アプリケーションからリモート コンピュータ管理などのアクションを実行できる機能があります。Asp.Net c# Web アプリケーションにデプロイする必要があります。プロジェクトをビルドするときにコードブローでそれを行いますが、IIS から実行しようとすると動作しません。何も起こりません。

ヘルプとアイデアをお願いします。エラーは発生しませんでした

protected void lnkComputermanagement_Click(object sender, EventArgs e)
{
    try
    {
        long InfoID = Convert.ToInt64(txtInfoID.Text);
        IBAPanel.NetworkSupport.WMIInfo WMIInfo = new IBAPanel.NetworkSupport.WMIInfo();
        WMIInfo = WMIInfo.Get(Convert.ToInt32(InfoID));
        string ComName = WMIInfo.ComputerName1;
        string Pass = WMIInfo.Password;

        if (WMIInfo.UserName != "" && WMIInfo.ComputerName1 != "" && WMIInfo.Password != "")
        {
            string Usname = WMIInfo.UserName.Substring(2);

            ProcessStartInfo startInfo = new ProcessStartInfo();
            Process myprocess = new Process();
            myprocess.StartInfo.CreateNoWindow = true;
            myprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            myprocess.StartInfo.UseShellExecute = false;
            myprocess.StartInfo.Verb = "runas";
            myprocess.StartInfo.FileName = "cmd.exe";
            myprocess.StartInfo.UserName = Usname;
            myprocess.StartInfo.Password = MakeSecureString(Pass);
            myprocess.StartInfo.Arguments = "/C mmc.exe compmgmt.msc /computer:" + ComName;
            myprocess.Start();
            myprocess.Close();
        }

        Response.Redirect("content.aspx?lan=fa&gid=524&InfoID=" + InfoID);

        ActionJquery();
    }
    catch (Exception ex)
    {
        System.Text.StringBuilder cstext1 = new System.Text.StringBuilder();
        cstext1.Append(" $(document).ready(function () {");
        cstext1.Append("alert(" + ex.Message + ")  ");
        cstext1.Append(" });  ");
        Page.ClientScript.RegisterStartupScript(typeof(Page), "", cstext1.ToString(), true);
    }
}
4

2 に答える 2

1

Webサイトを閲覧しているクライアントではなく、Webサーバーでコマンド「mmc.exe」を開始しています。Webサーバーのタスクマネージャーを見ると、実行中の複数のmmc.exeプロセスが表示されます。

于 2012-12-08T14:25:38.827 に答える
0

Web から Windows サービスを管理するには、特別なアクセス許可が必要であり、Services.msc を通過することはできません。WMI (Windows 管理ツール) を使用する必要があり、アプリケーション プールにより高いアクセス許可を与える必要がありますが、最善の方法は自分の作品を偽装することです。サービス情報を取得するコードの。

WMI を完全に使用する優れたオープン ソース プロジェクトは、codeplex の Services+ です。

Services+ の CodePlex

ありがとう

于 2014-10-17T13:24:34.027 に答える