|
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167
|
|
Перевод строки в дату13.10.2017, 14:34. Показов 16228. Ответов 19
Метки нет (Все метки)
Добрый день,
столкнулся со следующей проблемой. Я собираю данные с компов по дате и времени их включения. Результаты получаю "string" следующего вида 10/3/2017 1:19:57 PM или 14.09.2017 20:11:13 В зависимости от компа, с которого собираю. Сбор происходит следующим образом Invoke-Command -ComputerName ru-mscadm10004 -ScriptBlock {net statistics workstation} | Select-String "Statistics since" $temp= $temp.remove(0,17) Я пробовал тянуть из АД, но там данные далеко не всегда корректны. А этот способ показывает точные данные А вот дальше затык. Формат даты американский, а я хочу перевести в наш формат DD.mm.YYYY hh:MM В принципе я готов пожертвовать сасами, но дата должна правильно переводиться всегда. Что я пробовал 1. get-date ($temp) 2. $b=[datetime]: arse($temp)3. [DateTime]::ParseExact($temP,"dd/MM/yyyy HH:mm:ss", $null) В первом случает не меняет формат. Во втором странно. Вчера все было ОК, а сегодня не меняет. Третий выдает ошибку Exception calling "ParseExact" with "3" argument(s): "String was not recognized as a valid DateTime." PS Version: 5.1.14393.206 Очень жду совета. Спасибо.
0
|
|
| 13.10.2017, 14:34 | |
|
Ответы с готовыми решениями:
19
Перевод строки в дату
|
|
Любознательный
7401 / 2247 / 359
Регистрация: 10.03.2016
Сообщений: 5,191
|
||||||||||||
| 13.10.2017, 14:54 | ||||||||||||
|
Например у меня:
man get-date -full
0
|
||||||||||||
|
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167
|
|
| 13.10.2017, 15:02 [ТС] | |
|
Поясню, в первом случае дата 3 октября 2017, а не 10 марта.
во втором случае 14 сентября 2017. (тут то все просто) А как быть с первым вариантом. Как 10/3/2017 перевести в дату 03.10.2017 (3 октября 2017)
0
|
|
|
Любознательный
7401 / 2247 / 359
Регистрация: 10.03.2016
Сообщений: 5,191
|
|
| 13.10.2017, 15:21 | |
|
0
|
|
|
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167
|
|
| 13.10.2017, 15:37 [ТС] | |
|
Спасибо, с этим типом разобрались, но когда в цикл попадает дата второго типа 13.10.2017 8:45:08 он начинает ругаться
Cannot convert value "13.10.2017 8:45:08" to type "System.DateTime". Error: "String was not recognized as a valid DateTime." Как можно различать эти даты, чтобы я IF использовал?
0
|
|
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|||||||||||||
| 13.10.2017, 17:02 | |||||||||||||
0
|
|||||||||||||
|
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||||||||
| 13.10.2017, 17:23 | ||||||||||||
0
|
||||||||||||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||||||||||||
| 13.10.2017, 18:10 | ||||||||||||||
Просто ответил MGarry на вопрос про IF
+ greg zakharov, попробовал у себя ваш вариант:
0
|
||||||||||||||
|
Любознательный
7401 / 2247 / 359
Регистрация: 10.03.2016
Сообщений: 5,191
|
|||||||||
| 13.10.2017, 18:52 | |||||||||
Добавлено через 2 минуты $d и $m, это не проблема. Проблема там в том, что также не обрабатывается переключатель AM/PM ... но пилить можно всё, даже из паровоза самолет можно выпилить
0
|
|||||||||
|
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|||
| 13.10.2017, 18:57 | |||
0
|
|||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|||||||||||||||||
| 15.10.2017, 21:04 | |||||||||||||||||
|
Выполняю на машине: Win RU, Региональные стандарты: Россия, TZ UTC+3 Удалённый хост: Win EN, Региональные стандарты: US
![]() MGarry, обратите внимание, что используя Invoke-Command {net statistics workstation} вы получаете время в TZ удалённого хоста. А значит, если не узнать TZ хоста указанного в -ComputerName, то совершенно не ясно сколько это на самом деле.
0
|
|||||||||||||||||
|
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167
|
||||||
| 16.10.2017, 13:24 [ТС] | ||||||
|
Спасибо большое за ответы. Вроде работает скрипт. Для информации я приведу его ниже.
0
|
||||||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|||||||
| 16.10.2017, 16:35 | |||||||
- дату/время в разных региональных стандартах (Culture) - время из неизвестной TZ - В строке с временем, вместо "Statistics since", может быть фраза на русском "Статистика после" или любом другом языке удалённой ОС
0
|
|||||||
|
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167
|
|
| 16.10.2017, 16:42 [ТС] | |
|
Полгода назад я пытался брать оттуда, но выплыло несколько косяков. (Есть тема в этой ветке) и поэтому настороженно отношусь к Event.
Хотя когда я пытался через Event работать, до такого решения я не додумался.. Выглядит очень красиво.
0
|
|
|
|
||||||||||||||||
| 16.10.2017, 23:03 | ||||||||||||||||
Если нужно тотальное время работы системы без учета перезагрузок, то вроде бы этот счетчик не сбрасывается в течение почти месяца.
Хотя, нет - после перезагрузки тоже сбрасывается ![]() Добавлено через 1 минуту Впрочем, net statistics workstation тоже начинает отсчет статистики с текущего времени после перезагрузки системы.
1
|
||||||||||||||||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|||||||||||||||||
| 17.10.2017, 13:45 | |||||||||||||||||
|
1. Get-Process winlogon с ключом -ComputerName не возвращает StartTime, т.е. для удалённого ПК нужно всё равно запускать через Invoke-Command 2. Winlogon процессов может быть несколько, а значит нужно это учитывать + выбирать самый старый
0
|
|||||||||||||||||
|
403 / 86 / 8
Регистрация: 16.02.2013
Сообщений: 356
|
|||||||
| 19.10.2017, 19:47 | |||||||
|
Дело в том, что в конце рабочего дня для получения этого значения может понадобится до 10 минут Последний шанс - перехват вывода команды net time Кроме того народ почему-то не вспомнил
0
|
|||||||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||||||
| 20.10.2017, 10:30 | ||||||||
|
Специально попробовал выполнить этот запрос для удалённого (задержки ~40ms), нагруженного сервера, с аптаймом 62 дня - свойство TimeCreated было получено через TotalMilliseconds : 899,5706. А это в 666 раз быстрее 10 минут ![]()
0
|
||||||||
|
403 / 86 / 8
Регистрация: 16.02.2013
Сообщений: 356
|
|||
| 20.10.2017, 20:04 | |||
|
Проверю, хотя у меня сразу сомнение насчет эффективности этого способа просмотра. Насколько я знаю, системные логи не имеют индексов и всё всегда сводится к простому сканированию записей. Буду приятно удивлен, если Get-WinEvent работает быстрее Добавлено через 12 минут Попробуйте это на рабочей станции с гигом опереативки при 100% загрузке процессора.
0
|
|||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||
| 21.10.2017, 17:11 | ||||
Сейчас выходной и у меня в сети всего 69 работающих ПК. Просто последовательный сбор данных, с помощью Get-WinEvent из EventLog на каждом из них занял 28 сек. (при первом проходе). Последовательно запущенный на тех же ПК Get-WmiObject win32_operatingsystem занял 38 сек.(при первом проходе). При повторных запусках Get-WinEvent проходится по этим же ПК за 11 сек., а Get-WmiObject за 7 сек. А если поступить умней и автоматически разбить задачу на Job'ы, например в каждом собирать данные только с 10 ПК, то получение данных из EventLog с 69 ПК, с помощью Get-WinEvent у меня заняло 4 сек. Я не утверждаю, что из всех перечисленных здесь способов Get-WinEvent самый быстрый. Но он точно не работает минуты, там где другие способы отрабатывают за миллисекунды.
0
|
||||
| 21.10.2017, 17:11 | |
|
Помогаю со студенческими работами здесь
20
Перевод строки в дату
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|