代码之家  ›  专栏  ›  技术社区  ›  ArthurN

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

  •  0
  • ArthurN  · 技术社区  · 11 年前

    我写了这个简单的控制台程序( 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;
    }
    

    然后我在Windows Server 2008的控制台上使用 runas 命令(我以不同用户身份登录 User1 ):

    runas /user:User1 writeTxt.exe
    

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

    1 回复  |  直到 11 年前
        1
  •  1
  •   Damien_The_Unbeliever    11 年前

    我相信 runas 总是在程序的工作目录设置为 C:\Windows\System32 (或道德等价物),而不是调用时的当前工作目录 符文 .

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