«LocalSystem» и общий доступ к Linux Samba Network, IOException: указанный сервер не может выполнить запрошенную операцию - PullRequest
0 голосов
/ 26 февраля 2019
using System;
using System.IO;
using System.Linq;

namespace CreateDirectoryTest {
    internal class Program {
        public static void Main(string[] args) {
            if (!args.Any()) {
                Console.WriteLine("Error: Usage: CreateDirectoryTest.exe {paths}");
            }
            foreach (var arg in args) {
                try {
                    Console.WriteLine("Need to create the folder? " + arg + " (y/n)");
                    var input = Console.ReadLine();
                    if (input != null && input.Equals("n")) {
                        continue;
                    }
                    Directory.CreateDirectory(arg);
                } catch (Exception e) {
                    Console.WriteLine("Error Creating directory: " + arg);
                    Console.WriteLine(e);
                }
            }
        }
    }
}

Приведенный выше код создает исполняемый файл CreateDirectoryTest.exe и был протестирован на сервере win 2016 и 10 настольных компьютерах соответственно.Например: CreateDirectoryTest.exe \\\ip-address\data\testFolder \\ ip-address \ data \ testFolder - это сетевой ресурс в файловой системе Linux, и для связи используется протокол SMB.

Вышеупомянутый процесс был выполнен с правами администратора и системы (NT Authority)./ SYSTEM) соответственно в обеих операционных системах, но это не дает результатов на сервере win 2016 для сценария выполнения системного пользователя со следующей ошибкой:

Error Creating directory: \\ip-address\data\testFolder
System.IO.IOException: The specified server cannot perform the requested operation.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)
   at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
   at System.IO.Directory.CreateDirectory(String path)
   at CreateDirectoryTest.Program.Main(String[] args)

Может кто-нибудь предложить решение для решения этой проблемы на win-сервере2016?

process in win server 2016

Примечание: сервер Windows 2016 не зарегистрирован в домене, а Windows 10 зарегистрирована и имеет доменное имя

...