对运行写入文件的程序使用“runas”命令(Windows Server 2008)

时间:2013-09-25 07:44:57

标签: windows-server-2008 runas

我写了这个简单的控制台程序(writeTxt.exe):

#include "stdafx.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char        *fileName = "test.txt";
    ofstream    outStream(fileName, ios::out);

    outStream << "This is a very simple test." << endl;

    return 0;
}

然后我使用runas命令在Windows Server 2008的控制台上运行它(我以User1的其他用户身份登录):

runas /user:User1 writeTxt.exe

但该程序不会生成文件test.txt。如果我以User1身份登录服务器并运行该程序,它可以正常工作。我必须设置一些东西才能正常运行吗?

1 个答案:

答案 0 :(得分:1)

我相信runas始终启动程序,其工作目录设置为C:\Windows\System32(或道德等效),而不是当您调用runas时当前工作目录的任何内容。

如果User1具有写入该目录的权限,那么该文件将位于该目录中。如果他们没有这样的权限,那么程序将失败。