none
WinRM RRS feed

  • Вопрос

  • При успешном подключение к удаленному компьютеру через WinRM, например   Enter-PSSession –ComputerName SERVER , как на самом SERVER узнать с каких компьютеров и под какими учетными данными  к нему удаленно подключились, используя для этого подключения powershell (или только netstat на SERVER  и смотреть порт 5985/80/443)?
    22 июля 2011 г. 9:45

Ответы

  • Я лично не знаю,как либо средств для определения кто подсоединен в данный момент,но можно использовать связку WMI и netstat.

    После получения pid процесса,можно сопоставить с данными netstat и узнать,кто подсоединен.

     

     gwmi win32_process -Filter "Name='wsmprovhost.exe'" | select ProcessId,@{n="owner";e={"{0}\{1} "-f $_.getowner().Domain,$_.getowner().User}}
    

     

    • Помечено в качестве ответа n0g00dina 22 июля 2011 г. 11:41
    22 июля 2011 г. 10:11
    Отвечающий
  • Если не сложно расшифруй пожалуйста
    @{n="owner";e={"{0}\{1} "-f $_.getowner().Domain,$_.getowner().User}}
    

    Получаем от какой учетной записи запущен процесс(используя класс Win32_Process и его метод GetOwner). С помощью select создаем новый объект,в котором два свойства pid и owner.Название свойства name="Owner",присваиваем свойству Owner ,значение выражения expression = {}. n и е сокращение полная форма (

    @{name="owner";expression={"{0}\{1}"-f $_.getowner().Domain,$_.getowner().User}}
    

    ).

     

    -f -оператор формата,{0},{1} - аргументы.

     

    PS 10 > "{0} {1}" -f 1,2
    1 2
    PS 11 > "{1} {0}" -f 1,2
    2 1
    

     


    Скажем для процесса calc:

     

    PS > $out = $wmi.getowner()
    
    Domain    win
    ReturnValue    0
    User    Александр
    
    PS > "{0}\{1}" -f $out.Domain,$out.User
    win\Александр


     




    • Помечено в качестве ответа n0g00dina 22 июля 2011 г. 12:19
    22 июля 2011 г. 11:57
    Отвечающий

Все ответы

  • Я лично не знаю,как либо средств для определения кто подсоединен в данный момент,но можно использовать связку WMI и netstat.

    После получения pid процесса,можно сопоставить с данными netstat и узнать,кто подсоединен.

     

     gwmi win32_process -Filter "Name='wsmprovhost.exe'" | select ProcessId,@{n="owner";e={"{0}\{1} "-f $_.getowner().Domain,$_.getowner().User}}
    

     

    • Помечено в качестве ответа n0g00dina 22 июля 2011 г. 11:41
    22 июля 2011 г. 10:11
    Отвечающий
  • Если не сложно расшифруй пожалуйста
    @{n="owner";e={"{0}\{1} "-f $_.getowner().Domain,$_.getowner().User}}
    
    22 июля 2011 г. 11:42
  • Если не сложно расшифруй пожалуйста
    @{n="owner";e={"{0}\{1} "-f $_.getowner().Domain,$_.getowner().User}}
    

    Получаем от какой учетной записи запущен процесс(используя класс Win32_Process и его метод GetOwner). С помощью select создаем новый объект,в котором два свойства pid и owner.Название свойства name="Owner",присваиваем свойству Owner ,значение выражения expression = {}. n и е сокращение полная форма (

    @{name="owner";expression={"{0}\{1}"-f $_.getowner().Domain,$_.getowner().User}}
    

    ).

     

    -f -оператор формата,{0},{1} - аргументы.

     

    PS 10 > "{0} {1}" -f 1,2
    1 2
    PS 11 > "{1} {0}" -f 1,2
    2 1
    

     


    Скажем для процесса calc:

     

    PS > $out = $wmi.getowner()
    
    Domain    win
    ReturnValue    0
    User    Александр
    
    PS > "{0}\{1}" -f $out.Domain,$out.User
    win\Александр


     




    • Помечено в качестве ответа n0g00dina 22 июля 2011 г. 12:19
    22 июля 2011 г. 11:57
    Отвечающий