Просмотрел несколько тем на мисте:
http://www.forum.mista.ru/topic.php?id=524473
http://www.forum.mista.ru/topic.php?id=481072
Сейчас пользуюсь компонентой SendToLocalHost. Работает отлично, но хотелось решения без использования компонент, например, через vbs-скрипт. Кто-нибудь сталкивался с другими решениями такой задачи? Нужно тоже самое, что возвращает компонента SendToLocalHost и я так понимаю, что это значение одного из полей виндового класса WTSQuerySessionInformation.
Сейчас пользуюсь компонентой SendToLocalHost. Работает отлично, но хотелось решения без использования компонент, например, через vbs-скрипт. Кто-нибудь сталкивался с другими решениями такой задачи? Нужно тоже самое, что возвращает компонента SendToLocalHost и я так понимаю, что это значение одного из полей виндового класса WTSQuerySessionInformation.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Angealtor, можно использовать компоненту работы с пауршел. У меня публикация есть. Или зачем вообще скрипт использовать? Чтобы заказчику не нужно было ставить компоненту? Тогда сохранить сценарий в макет и потом его запускать, что тоже самое, только программно работать сложнее.
Под vbs-скриптом имел в виду что-то в виде такого:
В этом примере тоже используется внешний файл. Но надеюсь на помощь в поиске решения именно такого плана.
Функция getIPAddress()
Попытка
sc=Новый COMОбъект("MSScriptControl.ScriptControl");
sc.language="VBscript";
strFunc="function getIPAddress()
| Set objShell = CreateObject (""WSCript.Shell"")
| Set objWshScriptExec = objShell.Exec(""C:\GETTSCIP.exe"")
| Set objStdOut = objWshScriptExec.StdOut
| While Not objStdOut.AtEndOfStream
| strLine = objStdOut.ReadLine
| If InStr(strLine,""WTSClientAddress"") Then
| getIPaddress = Trim(Right(strLine, Len(strLine) - InStr(strLine,"":"")))
| End If
| Wend
|End Function";
sc.addCode(strFunc);
Исключение Возврат("0") КонецПопытки;
Возврат sc.run("getIPAddress");
КонецФункции
ПоказатьВ этом примере тоже используется внешний файл. Но надеюсь на помощь в поиске решения именно такого плана.
(6) Angealtor, https://blogs.msdn.microsoft.com/alejacma/2008/03/04/how-to-get-the-logged-on-user-with-wmi-vbscript/
использован vbscript. там оч много чего понаписано, а если кратко , то
Function Get-LoggedOn ($Comp = $env:computername)
{
Get-WmiObject -computername $Comp -query `
"Sel ect * fr om Win32_LogonSession where logontype = 2 or logontype = 10" |
foreach {Get-WmiObject -computername $Comp -query `
"Associators of {Win32_LogonSession.LogonId=$($_.logonid)} Where AssocClass=Win32_LoggedOnUser Role=Dependent"}
}
использован vbscript. там оч много чего понаписано, а если кратко , то
Function Get-LoggedOn ($Comp = $env:computername)
{
Get-WmiObject -computername $Comp -query `
"Sel ect * fr om Win32_LogonSession where logontype = 2 or logontype = 10" |
foreach {Get-WmiObject -computername $Comp -query `
"Associators of {Win32_LogonSession.LogonId=$($_.logonid)} Where AssocClass=Win32_LoggedOnUser Role=Dependent"}
}
У себя сделал так, может кому пригодится:
&НаКлиенте
Процедура Команда1(Команда)
WshShell = Новый COMОбъект("WScript.Shell");
WshSysEnv = WshShell.Environment("Process");
ИмяКомпьютера = WshSysEnv.Item("CLIENTNAME");
АдресКомпьютера = ПолучитьIpАдресПКПоИмениХоста(ИмяКомпьютера);
КонецПроцедуры
&НаКлиенте
Функция ПолучитьIpАдресПКПоИмениХоста(АдресХоста) Экспорт
Результат = "127.0.0.0";
oLoc = Новый COMОбъект("WbemScripting.SWbemLocator");
oSrv = oLoc.ConnectServer(0,"/root/cimv2");
ePng = oSrv.ExecQuery("SEL ECT * FR OM Win32_PingStatus WHERE Address = """ + АдресХоста + """");
Для Каждого СтатусХоста из ePng Цикл
Результат = СтатусХоста.ProtocolAddress;
КонецЦикла;
Возврат Результат;
КонецФункции
Показать
Здравствуйте . Подскажите пожалуйста как можно определить ip удаленного рабочего стола . Тема така: мошенники звоня представляются, мол вы торговали на той то бирже ее счета арестовали хотим вернуть вам деньги просят установить программу AnyDesk . Вот хотелось бы подловить гадав. Может скрипт им какой.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот