Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 6, 2022 07:00:42

usmesn
Зарегистрирован: 2020-04-28
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнени команды net use

Добрый день коллеги.
Подскажите пожалуйстка, как правильно выполнить команду по подключении шары(ресурс хостится на SharePoint) и дело происходит в домене:

 import subprocess
subprocess.Popen(r'net use H: https://xxxxx/yyyy/zzz /persistent:yes /user:domain\username password', shell=True)
и собственно шара не подключается, да и еще в pycharme крокозябры выводятся - так же массу стотей пересмотрел ничего не помогает. Кодировка везде указана utf-8(если бы она законектилась, не так уж и важны эти крокозябры)
Пробывал передвать аргументы и в качестве списка - не получается.
Замечу, что в командной строке даннай конструкция выполняется успешно et use H: https://xxxxx/yyyy/zzz /persistent:yes /user:domain\username password - но при перезагрузке пк шара не подключается.
Можно было бы батником подключить, но там проблема с паролем - в нем есть спецсимвол % и он игнориться если его передавть в качестве аргумента, но если поставить * и после интерактивного ввода пароля с клавиатуры, шара так же успешно подключается. Пароль брал в кавычки одинарные и двойные, подставлял ASCII and Unicode коды символа % - все так же безуспешно. Впринципе не важно чем ее подключить pythonom или batником, главное подключить. Хотелось бы разобрать все два варианта.

Офлайн

#2 Апрель 6, 2022 08:03:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Выполнени команды net use

Попробуй такой код

  
import subprocess
 
cmd = [
    'net',
    'use',
    'H:',
    'https://xxxxx/yyyy/zzz',
    '/persistent:yes',
    '/user:domain\\username',
    'password'
]
 
proc = subprocess.Popen(
    cmd,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE)
 
with proc:
    stdout_data = proc.stdout.read().decode('utf-8')
    stderr_data = proc.stderr.read().decode('utf-8')
    print('  [stdout]\n' + stdout_data)
    print('  [stderr]\n' + stderr_data)



Офлайн

#3 Апрель 7, 2022 06:32:11

usmesn
Зарегистрирован: 2020-04-28
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнени команды net use

py.user.next
Спасибо, заработало, но только с кодировкой cp866. Скорее всего связано с дефолтной кодировкой консоли windows а cp866(кодовая страничка вероятно ее стоит, не могу посмотреть нет прав), даже не windows-1251.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version