首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python添加Windows凭据?

如何使用Python添加Windows凭据?
EN

Stack Overflow用户
提问于 2016-08-11 08:48:22
回答 1查看 1.7K关注 0票数 2

我正在尝试创建一个程序,该程序自动将网络快捷方式安装到我的桌面上并下载驱动程序(它是我工作的打印服务器),但为了在安装后访问该快捷方式,我需要在打印机网络的域下输入我的工作凭据。我尝试使用Python的keyring库,但没有成功,我也尝试使用win32wnet.WNETADDCONNECTION2(),我已经在几个论坛上看到过它,但对我来说也不成功。

下面是当前的代码

代码语言:javascript
复制
import os, winshell, keyring, win32wnet
from win32com.client import Dispatch
    #Add Windows Credentials
    #**************************

    url = r'\\LINKTOTHENETWORK'
    win32wnet.WNetAddConnection2(0, None, url, None, USERNAME, PASSWORD)
    keyring.set_password(url, USERNAME, PASSWORD)
    keyring.get_password(url, USERNAME)

    #**************************
    # This is where I am having troubles.

    # Create the shortcut
    desktop = winshell.desktop()
    path = os.path.join(desktop, "MYLINK.lnk")
    target = url

    # Set path and save
    shell = Dispatch('WScript.Shell')
    shortcut = shell.CreateShortCut(path)
    shortcut.Targetpath = target
    shortcut.save()

    # Open the shortcut
    os.startfile(target)

在我的完整程序中,我有一个使用Kivy的界面,它询问我的用户名和密码,然后我点击“安装”按钮,它会将域名添加到我的用户名(域\用户名)中。使用keyring它是正确地显示,只是在错误的区域,所以这不应该是一个问题,我只是找不到一个方法来添加Windows凭据而不是通用凭据。

我在Windows10计算机上使用python2.7。

如果有人知道我可以使用的库或其他方法,那就太好了。谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2016-08-11 09:15:17

我确信您可以通过创建一个.bat文件并在您的程序中执行它来实现这一点。

对于Ex.

代码语言:javascript
复制
def bat_create_with_creds(id, pwd):
    """create Batch file to init printer domain creds with variables"""

    auth_print= open("auth_print.bat", "w")

    auth_print.write("NET USE \\printserverip /USER:%"+id+"% %"+pwd+"%")
    auth_print.close()

我没有针对您的特定用例这样做,但它对init非常有效。例如使用windows mstsc的rdp会话。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38885666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档