Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] использование команд Powershell в скриптах AutoIT

Ответить
Настройки темы
[решено] использование команд Powershell в скриптах AutoIT

Пользователь


Сообщения: 86
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: andr_mozg
Дата: 16-12-2009
необходимость есть заручится поддержкой powershell

есть код
Код: Выделить весь код
#include <Constants.au3>


$Cmd = 'dsquery'


$PowerShell = Run('PowerShell.exe '&$Cmd, "", @SW_HIDE , $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)       

StdinWrite($PowerShell)

While 1
    $line = StdoutRead($PowerShell)
    If @error Then ExitLoop
    If $line <> "" Then
    MsgBox(0,"",$line)
    EndIf
Wend

While 1
    $line = StderrRead($PowerShell)
    If @error Then ExitLoop
    MsgBox(0,"",$line)
Wend
но вот беда по русски он не может писать.... что можно придумать?
может есть другой способ взаимодействия с powershell ?

Отправлено: 15:24, 16-12-2009

 

Пользователь


Сообщения: 86
Благодарности: 2

Профиль | Отправить PM | Цитировать


Прошло 5лет и я нашел баг в своем посте

вот рабочий вариант

Код: Выделить весь код
#include <Constants.au3>
#include <Encoding.au3>



Func _power($comand)

	local $PowerShell = Run(@ComSpec & " /c powershell " & $comand, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
	local $out="", $err=""
	StdinWrite($PowerShell)
	While 1
		$line = StdoutRead($PowerShell)
		If @error Then ExitLoop
		If $line <> "" Then $out&=_Encoding_OEM2ANSI($line)
	Wend


	if $out="" then
		$out=""
		While 1
			$err = StderrRead($PowerShell)
			If @error Then ExitLoop
			If $err <> "" Then $out&=_Encoding_OEM2ANSI($err)

		Wend
	endif

	If $PowerShell Then ProcessClose($PowerShell)
	if $out <> "" then Return $out

EndFunc

Отправлено: 19:05, 21-10-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для _arahnid_

Новый участник


Сообщения: 35
Благодарности: 7

Профиль | Отправить PM | Цитировать


а как посмотреть результат выполнения ? типа лог файл

Отправлено: 10:04, 26-07-2019 | #12


Старожил


Сообщения: 491
Благодарности: 28

Профиль | Отправить PM | Цитировать


Цитата andr_mozg:
if $out="" then $out="" »
а какую функцию выполняет эта строка? Не пойму смысла её добавлять. Или просто сделать паузу в коде?

Отправлено: 08:53, 31-07-2019 | #13


Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3035
Благодарности: 1000

Профиль | Сайт | Отправить PM | Цитировать


Цитата bredych:
Не пойму смысла её добавлять »
Видимо просто старая привычка обнулять переменные )).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 21:07, 02-08-2019 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] использование команд Powershell в скриптах AutoIT

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Автоматический запуск скрипта PowerShell по времени. KAB Скриптовые языки администрирования Windows 7 06-03-2012 10:20
Разное - Использование команд из user.exe(dll) n9271217 Microsoft Windows 2000/XP 0 13-01-2009 14:58
Система - [решено] PowerShell, Get-QADComputer, Win32_NetworkLoginProfile somes Программирование и базы данных 1 10-11-2008 20:57
Иероглифы в скриптах nforcer Автоматическая установка Windows 2000/XP/2003 0 30-08-2006 22:30




 
Переход