无法访问工作组中的共享驱动器

时间:2020-07-29 18:07:35

标签: c winapi networking workgroup

我有一个包含两台计算机的工作组(两个Windows Server 2012)。我想编写一个程序,让我可以在远程计算机上创建文件/目录和...。我的工作组设置:

机器1:

  • 用户名:W1
  • 名称:WONE
  • 密码:lalalala
  • 工作组:WLAB

机器2:

  • 用户名:W2
  • 名称:WTWO
  • 密码:lalalala
  • 工作组:WLAB

我编写了以下程序,该程序在本地文件系统上可以正常运行,但是当我想从WTWO机器在远程机器(即\ WONE \ Users \ W1 \ Desktop \ Sample.txt)上创建文件时,它不会不行我也以管理员权限运行程序,但没有任何更改。我的程序:

#include <windows.h>
#include <iostream>


bool MakeFileOnSystemAbsloute(const wchar_t* arg_path)
{
    SECURITY_ATTRIBUTES sa_FileSecurityAttribute;
    wchar_t c_FilePath[MAX_PATH];


    sa_FileSecurityAttribute.nLength = sizeof(sa_FileSecurityAttribute);
    sa_FileSecurityAttribute.lpSecurityDescriptor = NULL;
    sa_FileSecurityAttribute.bInheritHandle = FALSE;

    wcscpy_s(c_FilePath, MAX_PATH, arg_path);


    HANDLE h_CreatedFile = CreateFileW(c_FilePath, 0, 0, &sa_FileSecurityAttribute, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);

    if (h_CreatedFile)
    {
        CloseHandle(h_CreatedFile);
        return true;
    }
    else
    {
        return false;
    }
    
    return false;
}



int main()
{
    MakeFileOnSystemAbsloute(L"\\WONE\\Users\\W1\\Desktop\\Milad.txt");
    return 0;
}

问题出在哪里?我应该如何解决这个问题?另外,我从互联网上阅读了以下文字,看来我无法使用本地计算机上的当前帐户访问远程计算机。

报价:

具有共享驱动器的计算机不在域中的事实是 你的主要问题在哪里为了使这个工作,你将有 配置Windows服务以特定用户身份运行,然后 您必须使用以下命令在远程系统上创建一个相同的用户 相同的密码。这样可能会起作用。

问题源于以下事实:为了登录到计算机 不在域中,则必须使用帐户登录该计算机 该计算机上存在的文件。机器占了其他东西 绝对不会在该本地计算机上存在。通过创建相同的 具有相同密码的用户,您可能可以登录到 工作。”

-sysadmin1138

0 个答案:

没有答案