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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Количество экземпляров именованного канала

Ответить
Настройки темы
PowerShell - Количество экземпляров именованного канала

Забанен


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

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


Некоторое приложение (portal.exe) при запуске создает именованный канал, имя которого имеет вид portal.PID.filetime, где PID идентификатор процесса, а filtetime время запуска, представленное целочисленным значением полей одноименной структуры. Так вот, помимо того, что мне нужно вытащить filetime в виде привычной даты, хотелось бы получить еще и количество экземпляров данного канала. Просто вывести список каналов можно так:
Код: Выделить весь код
[IO.Directory]::GetFiles('\\.\pipe\')
Найти нужный можно через Select-String. Но в выводе команды нет упоминания о количестве экземпляров.
P.S. Использовать pipelist Руссиновича не хотелось бы.

Отправлено: 19:40, 24-01-2021

 

Ветеран


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

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


Цитата jkadaba:
количество экземпляров данного канала »
все каналы существуют в единственном экземпляре

Отправлено: 19:51, 24-01-2021 | #2



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

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


Забанен


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

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


Цитата Busla:
все каналы существуют в единственном экземпляре
Здесь, коли упомянут pipelist, скорее превратности перевода. Instances можно перевести и как экземпляры, и как инстанции, и как... - в общем, суть понятна. По факту же это - размер канала в байтах.

В десятке чтобы получить размер можно провернуть такой трюк:
Код: Выделить весь код
($$ = (cmd /c dir \\.\pipe\\ | sls '(\d+)\s+(portal.*)').Matches.Groups[1,2])[0], [DateTime]::FromFileTime(($$[1] -split '\.')[-1])

Отправлено: 22:37, 24-01-2021 | #3


Ветеран


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

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


Цитата jkadaba:
вытащить filetime в виде привычной даты »
На примере pwsh:

Код: Выделить весь код
$a = [IO.Directory]::GetFiles('\\.\pipe\') -match 'pwsh'

# $a = \\.\pipe\PSHost.132559056461144875.248.DefaultAppDomain.pwsh

$filetime = ($a -split '(?<=[^\\])\.(?=[^\\])')[1]

# $filetime = 132559056461144875

[datetime]::FromFileTime($filetime)

# 23 января 2021 г. 23:00:46

Отправлено: 22:43, 24-01-2021 | #4


Забанен


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

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


Цитата Foreigner:
На примере pwsh...
А зачем пихать что-то в переменную?
Код: Выделить весь код
[DateTime]::FromFileTime((([IO.Directory]::GetFiles('\\.\pipe\') -match 'pwsh') -split '\.')[2])

Отправлено: 22:50, 24-01-2021 | #5


Ветеран


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

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


Может лучше через Get-Process?

Код: Выделить весь код
(Get-Process portal).StartTime

Отправлено: 22:53, 24-01-2021 | #6


Забанен


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

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


Конечно лучше. Проблема лишь в росте количества различных вызовов, а также количестве самих процессов. Хм... а может имелось в виду количество пайпов?

Последний раз редактировалось greg zakharov, 24-01-2021 в 23:02.


Отправлено: 22:55, 24-01-2021 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Количество экземпляров именованного канала

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - Не печатается несколько экземпляров dascon Программное обеспечение Windows 1 04-07-2017 17:06
Разное - Запуск нескольких экземпляров приложения vlarol Программирование и базы данных 0 08-08-2014 08:56
VBA - создание именованного диапазона Хоф Программирование и базы данных 8 02-10-2012 13:47
Delphi - [решено] Заполнение экземпляров класса Snake750 Программирование и базы данных 2 25-03-2010 18:32
Установка - [решено] Несколько экземпляров Vista 64 на одном компьютере Pokokurante Лицензирование продуктов Microsoft 2 09-06-2009 12:40




 
Переход