2016-12-22 2 views
3

Каков наилучший способ сопоставить общий сетевой ресурс с Windows-диском с помощью go-lang? Эта доля также требует имени пользователя и пароля. Аналогичный вопрос задавали для python What is the best way to map windows drives using Python?Каков наилучший способ сопоставления окон с помощью golang?

+0

@Nadh: задан вопрос был как сетевой диск, а не как список (сеть) диски. –

+0

Ах да, мой плохой. Удален флаг. – Nadh

ответ

0

В настоящее время нет прямого способа сделать это в Go; Я бы рекомендовал использовать net use, что, конечно же, ограничивает функциональность Windows, но на самом деле это то, что вам нужно.

Итак, когда вы открываете командную строку в Windows, вы можете отобразить сетевые папки в Windows, диски с помощью:

net use Q: \\SERVER\SHARE /user:Alice pa$$word /P

Q: представляет ваши окна диск, \\SERVER\SHARE это адрес сети, /user:Alice pa$$word Ваши учетные данные , и /P - для настойчивости.

Выполнение этого в Go будет выглядеть примерно так:

func mapDrive(letter string, address string, user string, pw string) ([]byte, error) { 
    // return combined output for std and err 
    return exec.Command("net use", letter, address, fmt.Sprintf("/user:%s", user), pw, "/P").CombinedOutput() 
} 

func main() { 
    out, err := mapDrive("Q:", `\\SERVER\SHARE`, "Alice", "pa$$word") 
    if err != nil { 
    log.Fatal(err) 
    } 
    // print whatever comes out 
    log.Println(string(out)) 
} 
Смежные вопросы