【发布时间】:2014-12-29 10:17:57
【问题描述】:
情况:
我想通过执行 dirquota.exe 的进程来修改我的 FileServer 上的文件夹配额
问题:
正在执行的进程根本没有结果
到目前为止:
我已经重定向了在我的 FileServer 上执行的进程和参数,以更仔细地查看服务器端到底发生了什么。
执行的过程没有异常,一切都很顺利,看起来.. 查看我的 FileServer 上的当前文件夹配额时,什么都没有改变..
我决定将我的参数复制粘贴到服务器上的 CMD.exe 中,然后一切正常...
我不知道为什么它不能在我的 FileServer 上运行,可能有点简单,但我需要一些帮助
重要信息:
我正在我的 FileServer 上安装 Windows 服务并通过 SOUPUI 调用方法(一切正常)。
安装的服务以域管理员身份运行,并具有执行这些操作所需的所有权限
班级
public class Quota
{
public string FolderLocation;
public int SizeInMB;
public string FileServerName;
}
方法
public string SetFolderQuota(Quota quota)
{
Process QuotaProcess = new Process();
QuotaProcess.StartInfo.RedirectStandardOutput = false;
QuotaProcess.StartInfo.FileName = @"cmd.exe";
QuotaProcess.StartInfo.UseShellExecute = true;
QuotaProcess.StartInfo.Arguments = "/C " + "dirquota Quota Add /PATH:" + '"' + quota.FolderLocation + '"' + " /Limit:" + quota.SizeInMB + "mb" + " /remote:" + quota.FileServerName;
try
{
QuotaProcess.Start();
}
catch(Exception Ex)
{
return Ex.Message;
}
return "Correctly Executed: " + QuotaProcess.StartInfo.FileName + QuotaProcess.StartInfo.Arguments;
}
【问题讨论】:
-
您可以尝试在参数中指定 dirquota 的完整路径吗?可能是它找不到 dirquota(尽管可能不太可能)。
-
也试过了,结果一样。想法不错