Powershell Invoke-WebRequest over proxy
Dec. 8th, 2019 08:59 pmВ ходе написания очередной заметки утнкулся в проблему на ровном месте.
Invoke-WebRequest в принципе команда тупая, простая и я уже ее всяко использовал. Только затупил и ключи к ней не посмотрел.
Сейчас же стоит задача "просочиться через прокси", при этом прокси взять какой-то "любой".
( Read more... )
Invoke-WebRequest в принципе команда тупая, простая и я уже ее всяко использовал. Только затупил и ключи к ней не посмотрел.
Сейчас же стоит задача "просочиться через прокси", при этом прокси взять какой-то "любой".
( Read more... )
Хнык хнык ниработаид
Dec. 8th, 2019 01:03 pmhttps://learn-powershell.net/2011/02/11/using-powershell-to-query-web-site-information/
https://evotec.xyz/quickly-test-multiple-proxies-with-powershell/
Причем в примере все работает, а у меня нет (во втором).
В смысле пример по второй ссылке точно работает, а я переписал - ниработаид.
ЧЯДНТ.
https://evotec.xyz/quickly-test-multiple-proxies-with-powershell/
Причем в примере все работает, а у меня нет (во втором).
В смысле пример по второй ссылке точно работает, а я переписал - ниработаид.
ЧЯДНТ.
Стыдобищщща 81 уровня!
Dec. 8th, 2019 03:21 am$URL4SEND = "https://api.telegram.org/bot$MyToken/sendMessage?chat_id=$MyChatID&text=$MyText01"
$URL4SEND2 = '"'+$URL4SEND+'"'
start chrome $URL4SEND2
$Chrome4Kill = get-process -name Chrome
$TimeToSleep = 30
sleep $TimeToSleep
$Now=(GET-DATE)
foreach ($Chrome in $Chrome4Kill) {
$Timediff = NEW-TIMESPAN –Start $Now –End $Chrome.StartTime
$Timediff.Minutes
if ($Timediff.Minutes -ge -2) {stop-process $Chrome}
}
# посмотреть https://developer.chrome.com/extensions/tabs
# в части remove − chrome.tabs.remove(integer or array of integer tabIds, function callback)
# да и в части update − chrome.tabs.update(integer tabId, object updateProperties, function callback)
$URL4SEND2 = '"'+$URL4SEND+'"'
start chrome $URL4SEND2
$Chrome4Kill = get-process -name Chrome
$TimeToSleep = 30
sleep $TimeToSleep
$Now=(GET-DATE)
foreach ($Chrome in $Chrome4Kill) {
$Timediff = NEW-TIMESPAN –Start $Now –End $Chrome.StartTime
$Timediff.Minutes
if ($Timediff.Minutes -ge -2) {stop-process $Chrome}
}
# посмотреть https://developer.chrome.com/extensions/tabs
# в части remove − chrome.tabs.remove(integer or array of integer tabIds, function callback)
# да и в части update − chrome.tabs.update(integer tabId, object updateProperties, function callback)
Набросок и вывод
Dec. 7th, 2019 02:28 pmНабросок
Давным-давно, в 2006 году Microsoft выпустила PowerShell 1.0 для тогда еще Windows XP, Vista и 2003 сервера.
Даже сейчас PowerShell можно рассматривать только как следующий шаг после вариантов Logo, вместо где-то наверное до сих пор используемых Delphi (или чего постарше), несмотря на наличие в нем циклов, классов, функций, вызова MS GUI, интеграции с Git и так далее.
Под катом:
Как написать очередного простого бота на Powershell и заставить его работать без webhook, белых IP, выделенных серверов, развертываемых виртуалок в облаке и прочая прочая - на обычном домашнем ПК с Windows.
Зачем:
Попросили написать, после очередного вопроса "а как сделать чтобы наш мониторинг отправлял сообщения не только мне, и как это все работает". Часть кода писалась под решение "на коленке" вопроса передачи алертов в телеграм.
Ничего нового в вопросе нет, почти все написанное раньше уже было на Хабре, например в статье Телеграмм-бот для системного администратора
( Read more... )
А теперь вывод.
Я посмотрел код, написанный "тогда" - ну кроме того что он написан в стиле "нахрен отступы и правила именования", так еще и занимает 700 строк (ну правда с комментариями и функциями вида kiss_my_shiny_metal_ass), так что такое показывать - ну стыдобища вообще.
Причесывать же его для такого дна как хабр - откровенно лень.
И да, про временные затраты - написание текста на две страницы по образцу выше занимает примерно полтора-два часа. Потому что ссылки надо поставить, текст переписать, вот это все.
Польза же от текста на хабре отсутствует - в приват накидают сообщений про грамматику И ВСЕ.
Давным-давно, в 2006 году Microsoft выпустила PowerShell 1.0 для тогда еще Windows XP, Vista и 2003 сервера.
Даже сейчас PowerShell можно рассматривать только как следующий шаг после вариантов Logo, вместо где-то наверное до сих пор используемых Delphi (или чего постарше), несмотря на наличие в нем циклов, классов, функций, вызова MS GUI, интеграции с Git и так далее.
Под катом:
Как написать очередного простого бота на Powershell и заставить его работать без webhook, белых IP, выделенных серверов, развертываемых виртуалок в облаке и прочая прочая - на обычном домашнем ПК с Windows.
Зачем:
Попросили написать, после очередного вопроса "а как сделать чтобы наш мониторинг отправлял сообщения не только мне, и как это все работает". Часть кода писалась под решение "на коленке" вопроса передачи алертов в телеграм.
Ничего нового в вопросе нет, почти все написанное раньше уже было на Хабре, например в статье Телеграмм-бот для системного администратора
( Read more... )
А теперь вывод.
Я посмотрел код, написанный "тогда" - ну кроме того что он написан в стиле "нахрен отступы и правила именования", так еще и занимает 700 строк (ну правда с комментариями и функциями вида kiss_my_shiny_metal_ass), так что такое показывать - ну стыдобища вообще.
Причесывать же его для такого дна как хабр - откровенно лень.
И да, про временные затраты - написание текста на две страницы по образцу выше занимает примерно полтора-два часа. Потому что ссылки надо поставить, текст переписать, вот это все.
Польза же от текста на хабре отсутствует - в приват накидают сообщений про грамматику И ВСЕ.
Чтоб не потерять
Dec. 7th, 2019 12:34 pmOceanStor 5300 V3, 5500 V3, 5600 V3, 5800 V3, and 6800 V3 Storage System V300R003C20 REST Interface Reference 02
https://support.huawei.com/enterprise/en/doc/EDOC1000126989?section=j005
Access a Huawei OceanStor Storage over REST-API per Powershell
https://forum.huawei.com/enterprise/en/give-me-a-short-kickstart-on-rest-api-over-powershell-please/thread/415687-891
http://mgtechhead.blogspot.com/2017/09/access-huawei-oceanstor-storage-over.html
$body = @{username = "admin";password = 'youwouldliketoknow';scope = 0}
$logonsession=Invoke-RestMethod -Method Post -Uri 'https://[IP]:8088/deviceManager/rest/xxxxx/sessions' -Body (ConvertTo-Json $body)
$sessionid=$logonsession.data.deviceid
As next i had trouble to authentificate again to send a GET request, the trick is to use on the first POST the "-SessionVariable" parameter to fill a variable with the Cookie and Header information "-SessionVariable WebSession" a subsequent Request need the Authentification in the Header, die iBaseToken from the POST Header and a well formed URI.
$logonsession=Invoke-RestMethod -Method Post -Uri https://[IP]:8088/deviceManager/rest/xxxxx/sessions -Body (ConvertTo-Json $body) -SessionVariable WebSession
$sessionid=$logonsession.data.deviceid
$iBaseToken=$logonsession.data.iBaseToken
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "admin",'youwouldliketoknow')))
$header = @{Authorization = "Basic $base64AuthInfo";iBaseToken = $iBaseToken}
$admhuawei = New-Object System.Management.Automation.PsCredential('admin',$(ConvertTo-SecureString -String ‘youwouldliketoknow’ -AsPlainText -force))
Invoke-RestMethod -Method Get "https://[IP]:8088/deviceManager/rest/$sessionid/lun/count" -Headers $header -ContentType "application/json" -Credential $admhuawei -WebSession $WebSession
WOW it worked !! Surely some things are redundant - but it works.
https://support.huawei.com/enterprise/en/doc/EDOC1000126989?section=j005
Access a Huawei OceanStor Storage over REST-API per Powershell
https://forum.huawei.com/enterprise/en/give-me-a-short-kickstart-on-rest-api-over-powershell-please/thread/415687-891
http://mgtechhead.blogspot.com/2017/09/access-huawei-oceanstor-storage-over.html
$body = @{username = "admin";password = 'youwouldliketoknow';scope = 0}
$logonsession=Invoke-RestMethod -Method Post -Uri 'https://[IP]:8088/deviceManager/rest/xxxxx/sessions' -Body (ConvertTo-Json $body)
$sessionid=$logonsession.data.deviceid
As next i had trouble to authentificate again to send a GET request, the trick is to use on the first POST the "-SessionVariable" parameter to fill a variable with the Cookie and Header information "-SessionVariable WebSession" a subsequent Request need the Authentification in the Header, die iBaseToken from the POST Header and a well formed URI.
$logonsession=Invoke-RestMethod -Method Post -Uri https://[IP]:8088/deviceManager/rest/xxxxx/sessions -Body (ConvertTo-Json $body) -SessionVariable WebSession
$sessionid=$logonsession.data.deviceid
$iBaseToken=$logonsession.data.iBaseToken
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "admin",'youwouldliketoknow')))
$header = @{Authorization = "Basic $base64AuthInfo";iBaseToken = $iBaseToken}
$admhuawei = New-Object System.Management.Automation.PsCredential('admin',$(ConvertTo-SecureString -String ‘youwouldliketoknow’ -AsPlainText -force))
Invoke-RestMethod -Method Get "https://[IP]:8088/deviceManager/rest/$sessionid/lun/count" -Headers $header -ContentType "application/json" -Credential $admhuawei -WebSession $WebSession
WOW it worked !! Surely some things are redundant - but it works.
Kubernetes
https://www.coursera.org/courses?query=kubernetes
И повтор
https://mikefrobbins.com/2016/02/09/configuring-the-powershell-ise-for-use-with-git-and-github/
UPD
БЛЯТЬ.
Git с собой притащил Vi, который и редактирует коммиты.
Как общеизвестно, из Vi выход только перезагрузкой, тем более в винде.
https://stackoverflow.com/questions/13239368/git-how-to-close-commit-editor
https://www.coursera.org/courses?query=kubernetes
И повтор
https://mikefrobbins.com/2016/02/09/configuring-the-powershell-ise-for-use-with-git-and-github/
UPD
БЛЯТЬ.
Git с собой притащил Vi, который и редактирует коммиты.
Как общеизвестно, из Vi выход только перезагрузкой, тем более в винде.
https://stackoverflow.com/questions/13239368/git-how-to-close-commit-editor
Powershell удивителен-2
Jun. 16th, 2019 03:26 pmИмел на днях какую-то ебанину.
В функцию на повершелл отдается обьект (набор строк, точнее говоря конфигурация сетевой железки), а приезжает в функцию - конвертированный объект из двух объектов типа "офигенно здоровая строка".
Функцию в общем-то надо было вызвать один раз, поэтому переписывать типа "парсим внутри функции" я не стал, вытащил саму функцию в код, но все же - вот зе фак?
Ну и
https://mikefrobbins.com/2016/02/09/configuring-the-powershell-ise-for-use-with-git-and-github/
В функцию на повершелл отдается обьект (набор строк, точнее говоря конфигурация сетевой железки), а приезжает в функцию - конвертированный объект из двух объектов типа "офигенно здоровая строка".
Функцию в общем-то надо было вызвать один раз, поэтому переписывать типа "парсим внутри функции" я не стал, вытащил саму функцию в код, но все же - вот зе фак?
Ну и
https://mikefrobbins.com/2016/02/09/configuring-the-powershell-ise-for-use-with-git-and-github/
Собсно проблема частных чатов телеги
May. 11th, 2019 04:15 amСобсно проблема частных чатов телеги в том, что в приезжающем json (с ответом на сообщение) нет полей reply_to_message_text и reply_to_message_id
Вообще никаких идентификаторов на исходное сообщение, кроме своего номера самого сообщения
ВО КАК.
То есть можно запилить конечно отдельную процедуру сохранения из первого образца, по виду short \ long \ html (это уже было, да), и оно будет отображаться.
Как-то. Но ссылок на него не будет, и как его удобненько смотреть не понятно. (разве что команду делать отдельную, с ID. Кстати тоже вариант.
Вообще никаких идентификаторов на исходное сообщение, кроме своего номера самого сообщения
ВО КАК.
То есть можно запилить конечно отдельную процедуру сохранения из первого образца, по виду short \ long \ html (это уже было, да), и оно будет отображаться.
Как-то. Но ссылок на него не будет, и как его удобненько смотреть не понятно. (разве что команду делать отдельную, с ID. Кстати тоже вариант.
До чего довел пош этот фигляр ПЖ!
May. 10th, 2019 11:41 pmДо чего довел пош этот фигляр ПЖ!
Начал делать бота.
Дошел до классов, ну потому что а чего копипастить-то туда-сюда всякое ??
Сделал класс и плоди от него объекты.
https://www.petri.com/creating-first-powershell-class
ДОЖИЛ, докатился!!
(надо бы теги про повершелл поставить)
UPD
БЛЯЯЯЯЯЯЯЯ
PowerTip: Use PowerShell to Remove an Item from an Array
https://devblogs.microsoft.com/scripting/powertip-use-powershell-to-remove-an-item-from-an-array/
https://www.jonathanmedd.net/2014/01/adding-and-removing-items-from-a-powershell-array.html
https://mjolinor.wordpress.com/2014/01/20/arrays-and-generic-collections-in-powershell/
нет, ну вы видели, вы видели, а ??
не ну пиздец же.
$colors = $null
$colors = $colors | where {$_ -ne "yellow"}
https://4sysops.com/archives/arrays-in-powershell-create-change-read-sort-delete/
нет, ну вы блять видели ??
UPD
$a = @(1,2,3,4)
$a
$a[2] = $null
$a
$a[2]
Это вообще как?
Начал делать бота.
Дошел до классов, ну потому что а чего копипастить-то туда-сюда всякое ??
Сделал класс и плоди от него объекты.
https://www.petri.com/creating-first-powershell-class
ДОЖИЛ, докатился!!
(надо бы теги про повершелл поставить)
UPD
БЛЯЯЯЯЯЯЯЯ
PowerTip: Use PowerShell to Remove an Item from an Array
https://devblogs.microsoft.com/scripting/powertip-use-powershell-to-remove-an-item-from-an-array/
https://www.jonathanmedd.net/2014/01/adding-and-removing-items-from-a-powershell-array.html
https://mjolinor.wordpress.com/2014/01/20/arrays-and-generic-collections-in-powershell/
нет, ну вы видели, вы видели, а ??
не ну пиздец же.
$colors = $null
$colors = $colors | where {$_ -ne "yellow"}
https://4sysops.com/archives/arrays-in-powershell-create-change-read-sort-delete/
нет, ну вы блять видели ??
UPD
$a = @(1,2,3,4)
$a
$a[2] = $null
$a
$a[2]
Это вообще как?
Снова про тележку
May. 10th, 2019 09:17 pmЯ вам ленту-то засру!
Общем, у телеги есть два вида чатов - частный и публичный.
upgraded the group to a supergroup
( Read more... )
Общем, у телеги есть два вида чатов - частный и публичный.
upgraded the group to a supergroup
( Read more... )
Ненависти псто
May. 10th, 2019 06:12 pmНенавижу блядь неявное приведение типов.
Ебусь с кодом. ОДНА И ТА ЖЕ блядь переменная в объекте то сцука int32, то str.
Не, я понимаю что я сейчас все блядь гвоздями приколочу, но что-то выбесило.
Причем, блядь, все это из файла читается, ну вот ..
А БЛЯДЬ в файле то все чОтко -
<S N - и это string и <I32 N - а это, блядь, integer. Система работает как ей скажут. БЛЯДЬ. Конечно я сам дурак, но уже второй раз в это влетаю. Надо приколачивать гвоздями. Правда, приколачивать надо тоже с умом - ([string]($t1.id)) - это вовсе не [string]($t1.id) и не [string]$t1.id Это три разных значения, МВУ ХОХОХОХО. Очень полезные грабли я считаю. И еще после этого вопрос, почему я не люблю всякие там однострочники с много много скобок. Да вот поэтому. UPD Кто пишет сначала function myfun{} и потом ПОСЛЕ {} начинает писать код = - тот Я. Я главное смотрю, а чего оно на breakpoint не попадает. А оно вон что. СТЫДОБА!
Ебусь с кодом. ОДНА И ТА ЖЕ блядь переменная в объекте то сцука int32, то str.
Не, я понимаю что я сейчас все блядь гвоздями приколочу, но что-то выбесило.
Причем, блядь, все это из файла читается, ну вот ..
А БЛЯДЬ в файле то все чОтко -
<S N - и это string и <I32 N - а это, блядь, integer. Система работает как ей скажут. БЛЯДЬ. Конечно я сам дурак, но уже второй раз в это влетаю. Надо приколачивать гвоздями. Правда, приколачивать надо тоже с умом - ([string]($t1.id)) - это вовсе не [string]($t1.id) и не [string]$t1.id Это три разных значения, МВУ ХОХОХОХО. Очень полезные грабли я считаю. И еще после этого вопрос, почему я не люблю всякие там однострочники с много много скобок. Да вот поэтому. UPD Кто пишет сначала function myfun{} и потом ПОСЛЕ {} начинает писать код = - тот Я. Я главное смотрю, а чего оно на breakpoint не попадает. А оно вон что. СТЫДОБА!
Попрыгал на граблях powershell
May. 10th, 2019 10:23 amПош он чем хорош (ну или плох) - ему сравнить теплое и мягкое как географу(ТМ) чужой ноут освоить, или Кошкину это все одобрить.
Ну да ладно.
Надо мне было по ходу дела проверять, есть у меня файл или нет. Окей, Test-Path и поехали
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/test-path?view=powershell-6
Ну и дальше
if ($tmp = "True") и поехали.
Поскольку изначально при запуске у меня файлов не было, то и ладно. Работало.
В какой-то момент при отладке полезло что-то не то. Пересоздается и все тут (ПРИЧЕМ РАБОТАЛО ЖИ)
Полез смотреть.
Угу, Boolean. И не "True", а –eq $TRUE or –eq $FALSE
http://www.systemcentercentral.com/powershell-tip-working-with-true-and-false-comparisons-in-powershell/
ну поправил везде по тексту .. вроде.
БЛИН. Сел писать простого бота для телеграмма. На повершелле.
Угу. Уже 500 строк. БЛЯТЬ БЛЯТЬ.
(Примечание. Для одного чата и для себя я написал за пару часов. Когда у меня в общем-то команд не много и чат_ид не динамический. Ну как пару часов - пока чаю налил, пока ISE открыл. А тут что-то началось
Ну да ладно.
Надо мне было по ходу дела проверять, есть у меня файл или нет. Окей, Test-Path и поехали
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/test-path?view=powershell-6
Ну и дальше
if ($tmp = "True") и поехали.
Поскольку изначально при запуске у меня файлов не было, то и ладно. Работало.
В какой-то момент при отладке полезло что-то не то. Пересоздается и все тут (ПРИЧЕМ РАБОТАЛО ЖИ)
Полез смотреть.
Угу, Boolean. И не "True", а –eq $TRUE or –eq $FALSE
http://www.systemcentercentral.com/powershell-tip-working-with-true-and-false-comparisons-in-powershell/
ну поправил везде по тексту .. вроде.
БЛИН. Сел писать простого бота для телеграмма. На повершелле.
Угу. Уже 500 строк. БЛЯТЬ БЛЯТЬ.
(Примечание. Для одного чата и для себя я написал за пару часов. Когда у меня в общем-то команд не много и чат_ид не динамический. Ну как пару часов - пока чаю налил, пока ISE открыл. А тут что-то началось
Powershell удивителен
May. 9th, 2019 07:03 pmЯ же тут немного говнокодил.
На выходе -
powershell ise ctrl x not working
https://superuser.com/questions/1219035/ctrlx-keyboard-shortcut-not-working-on-windows-10
Оказалось, пиждарасами выступил свежий хром, который работал в фоне.
На выходе -
powershell ise ctrl x not working
https://superuser.com/questions/1219035/ctrlx-keyboard-shortcut-not-working-on-windows-10
Оказалось, пиждарасами выступил свежий хром, который работал в фоне.
ПИДАРАСЫ!!1111!!111
May. 5th, 2019 01:53 pmВо первых, мне какого-то хера скрипт возвращает закешированный ответ из телеги. ID сообщения завис на NNN и висит. СЦУКА.
В любом браузере то же самое -
"https://api.telegram.org/bot" + $mytoken + "/getUpdates" - завис.
последний ответ NNN и все. И не але.
UPD. Ну потому что надо доки читать, а не копипастить скрипт бездумно.
Короче я сам рукожоп, потому что во первых
update_id обрабатывается, а не message_id
а во вторых он по другому и считается и формируется.
offset Integer Optional Identifier of the first update to be returned. Must be greater by one than the highest among the identifiers of previously received updates. By default, updates starting with the earliest unconfirmed update are returned. An update is considered confirmed as soon as getUpdates is called with an offset higher than its update_id. The negative offset can be specified to retrieve updates starting from -offset update from the end of the updates queue. All previous updates will forgotten.
ну я и воткнулся:
Опрос всегда выдаёт один и тот же результат
Метод getUpdates выдаёт 100 последних неподтверждённых обновлений. Чтобы подтвердить обновление, используйте параметр offset при вызове getUpdates вот так:
offset = update_id последнего обработанного обновления + 1
Все обновления с update_id меньшим или равным offset будут отмечены как подтверждённые и не будут больше возвращаться сервером.
https://tlgrm.ru/docs/bots/faq
UPDATE ID !! не message !!
Все было видно в отладке через https:// бла бла в браузере.
Во вторых ПИДАРЫ
The `r (carriage return) is ignored in PowerShell (ISE)
https://ss64.com/ps/syntax-esc.html
https://social.technet.microsoft.com/Forums/office/en-US/7f178d9b-e437-4a1c-9e6a-6681a1fb88fe/carriage-returnquotrquot-in-writehost-not-working?forum=ITCG
ДА БЛЯТЬ ПОЧЕМУ ???
При этом `r`n работает.
Да блять!
В любом браузере то же самое -
"https://api.telegram.org/bot" + $mytoken + "/getUpdates" - завис.
последний ответ NNN и все. И не але.
UPD. Ну потому что надо доки читать, а не копипастить скрипт бездумно.
Короче я сам рукожоп, потому что во первых
update_id обрабатывается, а не message_id
а во вторых он по другому и считается и формируется.
offset Integer Optional Identifier of the first update to be returned. Must be greater by one than the highest among the identifiers of previously received updates. By default, updates starting with the earliest unconfirmed update are returned. An update is considered confirmed as soon as getUpdates is called with an offset higher than its update_id. The negative offset can be specified to retrieve updates starting from -offset update from the end of the updates queue. All previous updates will forgotten.
ну я и воткнулся:
Опрос всегда выдаёт один и тот же результат
Метод getUpdates выдаёт 100 последних неподтверждённых обновлений. Чтобы подтвердить обновление, используйте параметр offset при вызове getUpdates вот так:
offset = update_id последнего обработанного обновления + 1
Все обновления с update_id меньшим или равным offset будут отмечены как подтверждённые и не будут больше возвращаться сервером.
https://tlgrm.ru/docs/bots/faq
UPDATE ID !! не message !!
Все было видно в отладке через https:// бла бла в браузере.
Во вторых ПИДАРЫ
The `r (carriage return) is ignored in PowerShell (ISE)
https://ss64.com/ps/syntax-esc.html
https://social.technet.microsoft.com/Forums/office/en-US/7f178d9b-e437-4a1c-9e6a-6681a1fb88fe/carriage-returnquotrquot-in-writehost-not-working?forum=ITCG
ДА БЛЯТЬ ПОЧЕМУ ???
При этом `r`n работает.
Да блять!
Ради интереса запилил на повершелле бота для телеги (ну конечно в методичку подсматривал).
Основная проблема (сейчас), конечно, это не сам бот, пилил я его .. ну с 10 до 2 ночи наверное, и до того утром (за пару дней до) вспоминал, как оно работает-то вообще.
Проблема в том, что надо ли его вешать как сервис, и если да, то как его при этом правильно прикручивать в систему-то ?
Сейчас сделано методом спичек и желудей -
- в таск шедулер привязан скрипт, выполняемый раз в 5 минут (чаще нельзя), в котором сам бот (скрипт) вызывается каждые 5 секунд (через sleep 5), ну и дальше уже сам бот (скрипт) ходит на веб.
Наверное можно иначе.
UPD
Вторая Главная Проблема - гомосексуалисты в одной организации. Опять API отрезали, прямо хоть VPN покупай.
UPD.
Не отрезали. Это я рукожоп - https://scif-yar.dreamwidth.org/333231.html
Основная проблема (сейчас), конечно, это не сам бот, пилил я его .. ну с 10 до 2 ночи наверное, и до того утром (за пару дней до) вспоминал, как оно работает-то вообще.
Проблема в том, что надо ли его вешать как сервис, и если да, то как его при этом правильно прикручивать в систему-то ?
Сейчас сделано методом спичек и желудей -
- в таск шедулер привязан скрипт, выполняемый раз в 5 минут (чаще нельзя), в котором сам бот (скрипт) вызывается каждые 5 секунд (через sleep 5), ну и дальше уже сам бот (скрипт) ходит на веб.
Наверное можно иначе.
UPD
Вторая Главная Проблема - гомосексуалисты в одной организации. Опять API отрезали, прямо хоть VPN покупай.
UPD.
Не отрезали. Это я рукожоп - https://scif-yar.dreamwidth.org/333231.html
МОжно делать так
Get-VM | where {(Get-TagAssignment -Entity $_ | Select -ExpandProperty Tag) -like 'MYTAG001'}
а можно так
get-vm -Tag 'MYTAG001'
Уже не помню, почему я в одном скрипте использовал первое, а потом не проверил, что можно брать второе.
upd
https://www.reddit.com/r/PowerShell/comments/4gtqp5/getvm_gettagassignment/
Get-VM | where {(Get-TagAssignment -Entity $_ | Select -ExpandProperty Tag) -like 'MYTAG001'}
а можно так
get-vm -Tag 'MYTAG001'
Уже не помню, почему я в одном скрипте использовал первое, а потом не проверил, что можно брать второе.
upd
https://www.reddit.com/r/PowerShell/comments/4gtqp5/getvm_gettagassignment/
Еще немножко про пошик
May. 26th, 2018 01:24 pm# Я тут полез в пош, не то чтобы глубже, но как-то типа "еще раз с ноля".
# До этого у меня вопросов особых не было, ну типа командлет, ну вот что-то отдает, ну вот есть | get-member, и дальше уже ты там $mailbox.name как-то крутишь, а тут вот пришлось.
# Во первых, что читать
( Read more... )
# До этого у меня вопросов особых не было, ну типа командлет, ну вот что-то отдает, ну вот есть | get-member, и дальше уже ты там $mailbox.name как-то крутишь, а тут вот пришлось.
# Во первых, что читать
( Read more... )