0

2 台のマシン (2 台の Windows Server 2012) を持つワークグループがあります。ファイル/ディレクトリを作成できるプログラムを書きたかったのですが、リモート マシン上で... 私のワークグループ設定:

マシン 1:

  • ユーザー名: W1
  • 名前:ウォン
  • パスワード:ララララ
  • ワークグループ: WLAB

マシン 2:

  • ユーザー名: W2
  • 名前:WTWO
  • パスワード:ララララ
  • ワークグループ: 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

4

0 に答える 0