Я уже читал подобные статьи, но в итоге я оказался в несколько иной ситуации …
Я хочу использовать сетевой ресурс, который размещен где-то еще. Доступ ограничен, но я получил аккаунт с разрешением на его использование.
Я не нашел никаких решений для Windows Server + IIS. Я понимаю, что sambaclients не работают на Windows и других подходах, таких как использование системных утилит Windows
psexec -i -s cmd.exe
+
net use z: \\[IP ADDRESS HERE]\[FOLDER NAME HERE] /persistent:yes
Это тоже не сработало. Что я должен сделать? Я совершенно сбит с толку, что не существует очевидного / простого решения для такой стандартной проблемы.
Последний, наиболее многообещающий, подход заключался в использовании чистого использования системы ():
$this->letter = "P";
$this->location = "\\\\IP-adress\\share";
$this->user = "a";
$this->pass = "b";
system("net use " . $this->letter .": ". $this->location." ".$this->pass." /user:".$this->user." /persistent:yes 2>&1");
if(is_dir($this->letter)){..}else{}
… Я всегда дохожу до остального {}. Я проверил синтаксис команды, попробовав его вручную с помощью cmd. Это работает. Но я заметил, что я не увижу общий ресурс «P: \» в проводнике, если сопоставить общий ресурс в сценарии … (флаг для постоянства установлен только в значение true из-за видимости в проводнике). Но с другой стороны, system () сообщает, что устройство уже используется (или что-то в этом роде), если я попытаюсь снова. Поэтому я не знаю, сработала ли системная команда или нет. В любом случае, дальнейшее использование общего ресурса не работает..
Других решений пока нет …