对SAMBA sh的Python身份验证

2024-04-20 12:36:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以在没有身份验证的情况下映射网络共享上的驱动器。但是一旦我尝试用用户名和密码进行身份验证,我就会丢失一些东西。下面是代码的当前工作示例,其中包含我不断收到的错误消息。在

#!/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, 'Exception occurred.', (0, u'WSHNetwork.MapNetworkDrive', u'Logon failure: unknown user name or bad password.\r\n', None, 0, -2147023570), None)


Tags: 代码inimportclient身份验证for错误network
1条回答
网友
1楼 · 发布于 2024-04-20 12:36:20

您没有将user_nameuser_pass传递给MapNetworkDrive。 试试这个:

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

注意:传递的True有一个标志,指示映射信息是否存储在当前用户的配置文件中。在

相关问题 更多 >