Python 身份验证到 SAMBA 共享

标签 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)

最佳答案

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

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

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

关于Python 身份验证到 SAMBA 共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2228846/

相关文章:

python - 如何将 xarray 数据集展平为一维 numpy 数组?

Python Scipy 优化方法 : global optimization failed

python - 用 python 将文件分割成带有计数器的新行

python - 需要修改版本的 Python 字典

python - 如果特定键与查询匹配,如何获取所有键/值?

python - 在 seaborn barplot 上显示计数

python - 如何在numpy或python中用(0,0)<=(x,y)<=(x1,y1)过滤数组(x,y,z)?

python - Slack 机器人允许任何用户在任何 channel 上发帖

python - 如何导入使用 argparse 的模块

python - 防止 Pandas 自动推断 read_csv 中的类型