|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Вызов консольной команды из Powershell и получение результата. Проблема с кириллицей. |
|
PowerShell - [решено] Вызов консольной команды из Powershell и получение результата. Проблема с кириллицей.
|
Пользователь Сообщения: 60 |
Здравствуйте.
В одном скрипте есть функция, которая должна делать определение пользователя работающего на удаленном ПК. Нужно чтобы определялись пользователи залогиненные с консоли, через RDP, через инструмент Подключение к виртуальной машине (Hyper-V). Все эти данные показывает утилита qwinsta, которая присутствует и в W10 и в W7. Но есть проблема: в сети присутствуют ПК как с En так и Ru локализацией. При запуске на кириллических системах через ISE или Start-Process -filepath 'qwinsta.exe' -argumentlist "/server:$env:COMPUTERNAME" -RedirectStandardOutput "C:\temp\StandardOutput.txt" $Result = get-content "C:\temp\StandardOutput.txt" При запуске в консоли PS - все красиво, но уверен что часть сотрудников для кого пишется скрипт будут его запускать через ISE. Подскажите есть какое-то решение по получению вывода от консольных приложений в читаемом варианте или корректная перекодировка на лету? Как вариант можно через Хочется сделать универсальное решение, чтобы в дальнейшем его использовать. |
|
Отправлено: 10:35, 26-08-2019 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать densan, а зачем Вам вообще промежуточный текстовый файл:
cmd /c "qwinsta /server:$env:COMPUTERNAME" |Out-File c:\temp\1.txt -Encoding default $queryResults = Get-Content c:\temp\1.txt … Скрытый текст
$oProcess = New-Object -TypeName 'System.Diagnostics.Process' $oProcess.StartInfo.FileName = 'qwinsta.exe' $oProcess.StartInfo.Arguments = "/server:$env:COMPUTERNAME" $oProcess.StartInfo.CreateNoWindow = $true $oProcess.StartInfo.UseShellExecute = $false $oProcess.StartInfo.RedirectStandardOutput = $true if($oProcess.Start()) { $oProcess.WaitForExit() Write-Host $($oProcess.StandardOutput.ReadToEnd()) -ForegroundColor Cyan if($oProcess.ExitCode -eq 0) { Write-Host "OK." -ForegroundColor Green } else { Write-Host "Error. ExitCode: $($oProcess.ExitCode)" -ForegroundColor Red } } Не? |
Отправлено: 17:53, 26-08-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать В сети безопасники включили для PS режим CLM, часть функционала PS заблокирована.
New-Object : Не удается создать тип. В этом языковом режиме поддерживаются только основные типы. |
Отправлено: 09:32, 27-08-2019 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать densan, в любом случае — зачем Вам вызов cmd /c? Мне кажется, что он тут лишний, не?
|
Отправлено: 16:06, 27-08-2019 | #13 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Спасибо, действительно конструкция без cmd /c работает:
Сейчас уже не припомню, но был случай, после которого я стал использовать cmd /c, возможно это было на древних версиях PS. |
Отправлено: 16:44, 27-08-2019 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Backup Switch conf(Вызов powershell ), не работает скрипт. | shtir | Скриптовые языки администрирования Windows | 2 | 16-11-2015 08:45 | |
CMD/BAT - [решено] Powershell вызов из cmd | c4uran | Скриптовые языки администрирования Windows | 7 | 15-09-2015 10:53 | |
CMD/BAT - Запись результата команды в txt | DeepPurple | Скриптовые языки администрирования Windows | 4 | 12-12-2013 15:31 | |
CMD/BAT - [решено] Вызов функции из скрипта powershell | ferget | Программирование и базы данных | 0 | 03-06-2011 03:33 | |
CMD/BAT - [решено] выполнение команды с повторением до результата | cher | Скриптовые языки администрирования Windows | 3 | 23-05-2011 16:52 |
|