Аутентификация Python для общего ресурса SAMBA - PullRequest
3 голосов
/ 09 февраля 2010

Я могу без проблем подключить диск к сетевым ресурсам без аутентификации. Но я что-то упускаю, когда пытаюсь пройти аутентификацию с помощью имени пользователя и пароля. Вот текущий рабочий пример кода с сообщением об ошибке, которое я продолжаю получать.

#!/usr/bin/python
# Drive Map Script
import pywintypes
import win32com.client

# Disconnect previous mapped drives
testnetwork = win32com.client.Dispatch('Wscript.Network')
network_drives = testnetwork.EnumNetworkDrives()
for mapped_drive in [network_drives.Item(i)
                     for i in range(0, network_drives.Count() -1 , 2)
                     if network_drives.Item(i)]:
    testnetwork.RemoveNetworkDrive(mapped_drive, True, True)

# Mount the drives
drive_mapping = [
    ('z:', '\\\\192.168.1.100\\Some_Share', 'someuser', 'somepass')]

for drive_letter, network_path, user_name, user_pass in drive_mapping:
    try:
        testnetwork.MapNetworkDrive(drive_letter, network_path)
    except Exception, err:
        print err

И ошибка, которую код генерирует при выполнении:

(- 2147352567, «Произошло исключение.», (0, u'WSHNetwork.MapNetworkDrive ', Ошибка u'Logon: неизвестное имя пользователя или неверный пароль. \ r \ n ', Нет, 0, -2147023570), нет)

1 Ответ

2 голосов
/ 09 февраля 2010

Вы не передаете user_name и user_pass на MapNetworkDrive. Попробуйте вместо этого:

testnetwork.MapNetworkDrive(drive_letter, network_path, True, user_name, user_pass)

Примечание: переданный True флаг помечает, сохраняется ли информация о сопоставлении в профиле текущего пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...