Используя winexe для выполнения команд “wmic” на машине Windows

Для команд с небольшим выводом и короткими строками можно сделать это легко с комбинацией a2ps, ghostscript и imagemagick:

Здесь вывод команды ls используется в качестве примера.

ls | 
a2ps -=book -B -q --medium=A4dj --borders=no -o out1.ps &&
gs \
  -sDEVICE=png256           \
  -dNOPAUSE -dBATCH -dSAFER \
  -dTextAlphaBits=4 -q      \
  -r300x300                 \
  -sOutputFile=out2.png out1.ps
convert -trim out2.png result.png

a2ps создает векторное изображение текста. ghostscript растеризирует его в графический PNG (не используйте JPEG, это - неправильный графический формат для этого, это только полезно для фотореалистических изображений). Наконец imagemagick используется для удаления окружающего пробела. Прочитайте страницы справочника и настройте параметры по мере необходимости.

Если программы не установлены, можно скомпилировать и установить их с --prefix=/home/me/.local как пользователь без прав администратора.

Править: Как упомянуто в комментарии решение без зависимости a2ps и ghostscript является следующим.

convert label:"$(ls)" result.png
3
13.07.2013, 00:30
3 ответа

Используйте Клиент WMI здесь: http://www.orvant.com/packages/ и выполненный WMIC управляет непосредственно из Linux, хотя необходимо будет использовать эквиваленты WQL команд, поскольку эта версия не поддерживает non-WQL queryies.

3
27.01.2020, 21:20
  • 1
    Мое использование для этого долго передавало, но это выглядит многообещающим. Я отмечу его как ответ. Если несколько плохих лет души с этого времени находят это через Google, и он не работает, оставьте комментарий о своем опыте/ли, он действительно работал или нет. –  CptSupermrkt 18.10.2013, 16:14
  • 2
    , я испытываю wmi-клиент (если я могу когда-либо заставлять это компилировать на Дуге Linux). Я отправлю назад свои результаты. –  senorsmile 02.11.2013, 00:19

Я попробовал бы, они управляют с winexeотладьте включенный переключатель. Можно появиться, уровень отладки (надеется быть числом такой как 0,1,2,3, и т.д.).

Пример

Здесь я просто выполняю Вашу команду, как кроме, я добавил переключатель -d 3.

$ winexe -A authfile -d 3 //syspc4.domain.com "wmic bios get serialnumber"

ERROR: Unable to open credentials file!
[param/loadparm.c:587:init_globals()] Initialising global parameters
[param/loadparm.c:2462:lp_load()] lp_load: refreshing parameters from /dev/null
[param/params.c:556:pm_process()] params.c:pm_process() - Processing configuration file "/dev/null"
[param/loadparm.c:1343:lp_add_hidden()] adding hidden service IPC$
[param/loadparm.c:1343:lp_add_hidden()] adding hidden service ADMIN$
[auth/credentials/credentials_krb5.c:171:cli_credentials_set_ccache()] failed to get principal from default ccache: No such file or directory: open(/tmp/krb5cc_500): No such file or directory
[winexe/winexe.c:304:main()] winexe version 0.80
This program may be freely redistributed under the terms of the GNU GPL
[auth/auth.c:447:auth_register()] AUTH backend 'winbind_samba3' registered
[auth/auth.c:447:auth_register()] AUTH backend 'winbind' registered
[auth/auth.c:447:auth_register()] AUTH backend 'name_to_ntstatus' registered
[auth/auth.c:447:auth_register()] AUTH backend 'fixed_challenge' registered
[auth/auth.c:447:auth_register()] AUTH backend 'unix' registered
[auth/auth.c:447:auth_register()] AUTH backend 'anonymous' registered
[auth/auth.c:447:auth_register()] AUTH backend 'sam' registered
[auth/auth.c:447:auth_register()] AUTH backend 'sam_ignoredomain' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'krb5' registered
[auth/gensec/gensec.c:1205:gensec_register()] gensec subsystem fake_gssapi_krb5 is disabled
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'schannel' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'spnego' registered
[auth/gensec/gensec.c:1205:gensec_register()] gensec subsystem gssapi_spnego is disabled
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'gssapi_krb5' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'gssapi_krb5_sasl' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'ntlmssp' registered
[lib/util/util.c:334:interpret_addr()] sys_gethostbyname: Unknown host. syspc4.domain.com
[lib/socket/interface.c:103:add_interface()] added interface ip=192.168.1.110 nmask=255.255.255.0
[winexe/winexe.c:322:main()] ERROR: Failed to open connection - NT_STATUS_NO_MEMORY
0
27.01.2020, 21:20
  • 1
    Ahhhh, она ищет число! LOL. Я попробовал слова как "высоко". Я дам этому выстрел! –  CptSupermrkt 13.07.2013, 00:24
  • 2
    @CptSupermrkt - да не это хороший, когда они предоставляют Вам программу и страницу использования, но никакую страницу справочника, которая записывает фактические детали того, как "действительно" использовать его. –  slm♦ 13.07.2013, 00:27
  • 3
    @CptSupermrkt - Об/мин, который обеспечивает тот пакет, не включает цент документации также. Хорошие 8-(. –  slm♦ 13.07.2013, 00:28
  • 4
    @CptSupermrkt - Я должен спросить, что такое Супермаркет Капитана? –  slm♦ 13.07.2013, 00:29
  • 5
    @CptSupermrkt - WTF?Вы это серьезно? Спасибо я кричу от смеха. –  slm♦ 13.07.2013, 00:33

Последний код winexe (из "текущего" репозитория мерзавца, иначе "winexe-waf"; ноябрь 2013 даты), не зависает, когда я тестирую его. Я создаю winexe на Debian, Хрипящем с Samba 4.0.10 пакета от Нестабильного и выполненного winexe -U "<user>%<pwd>" //192.168.1.2 'wmic bios get serialnumber' где 192.168.1.2 IP-адрес виртуальной машины VirtualBox, запускающей Windows 7 Professional SP1. Вывод следующие.

$ winexe -U "<user>%<pwd>" //192.168.1.2 'wmic bios get serialnumber'
SerialNumber
0

$ winexe -U "<user>%<pwd>" //192.168.1.2 'wmic computersystem get model'
Model
VirtualBox
1
27.01.2020, 21:20

Теги

Похожие вопросы