none
как узнать имя и ip-адрес компьютера, зная доменную учетную запись

    Вопрос

  • Здравствуйте! Подскажите пожалуйста, как узнать имя и ip-адрес компьютера, зная доменную учетную запись? есть какой-нибудь готовый скрипт? учетные записи в домене.

    26 ноября 2018 г. 11:57

Ответы

  • а посмотреть в AD нельзя в разделе компьютеры ??   ну даже если и так, вот есть вариант:

    http://corpadmin.pp.ua/blog/other/post/78-uznat-setevye-nastroyki-u-polzovatelya

    распространите на группу пользователей и позвоните им , спросите, что отображается.

    • Предложено в качестве ответа serg_23 26 ноября 2018 г. 13:08
    • Помечено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:24
    26 ноября 2018 г. 13:05
  • Как вариант: Команда выполненная на контроллере домена повзолит узнать IP, с которого пользователь аторизовался на контроллере домена:

    Get-WinEvent -FilterHashtable @{Logname="Security";id=4624} | where {($_.Properties[5].Value -eq "имя.пользователя")} | fl -Property Message

    к сожалению, "причесать" вывод не могу:

    Message : An account was successfully logged on.
              
              Subject:
              	Security ID:		S-1-0-0
              	Account Name:		-
              	Account Domain:		-
              	Logon ID:		0x0
              
              Logon Information:
              	Logon Type:		3
              	Restricted Admin Mode:	-
              	Virtual Account:		No
              	Elevated Token:		Yes
              
              Impersonation Level:		Delegation
              
              New Logon:
              	Security ID:		S----------------------------
              	Account Name:		имя.пользователя
              	Account Domain:		domain.com
              	Logon ID:		0x1486C75E
              	Linked Logon ID:		0x0
              	Network Account Name:	-
              	Network Account Domain:	-
              	Logon GUID:		{----------------------------------}
              
              Process Information:
              	Process ID:		0x0
              	Process Name:		-
              
              Network Information:
              	Workstation Name:	-
              	Source Network Address:	192.168.102.96
              	Source Port:		7417
              
              Detailed Authentication Information:
              	Logon Process:		Kerberos
              	Authentication Package:	Kerberos
              	Transited Services:	-
              	Package Name (NTLM only):	-
              	Key Length:		0
              
              This event is generated when a logon session is created. It is generated on the computer that was accessed.
              
              The subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
              
              The logon type field indicates the kind of logon that occurred. The most common types are 2 (interactive) and 3 (network).
              
              The New Logon fields indicate the account for whom the new logon was created, i.e. the account that was logged on.
              
              The network fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
              
              The impersonation level field indicates the extent to which a process in the logon session can impersonate.
              
              The authentication information fields provide detailed information about this specific logon request.
              	- Logon GUID is a unique identifier that can be used to correlate this event with a KDC event.
              	- Transited services indicate which intermediate services have participated in this logon request.
              	- Package name indicates which sub-protocol was used among the NTLM protocols.
              	- Key length indicates the length of the generated session key. This will be 0 if no session key was requested.

    ну а дальше nslookup в помощь.

    • Предложено в качестве ответа Vector BCOModerator 26 ноября 2018 г. 19:03
    • Помечено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:24
    26 ноября 2018 г. 13:37
  • как должна выглядеть последняя строка в скрипте?какую фигурную скобку убрать?

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

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username }


    The opinion expressed by me is not an official position of Microsoft


    спасибо большое за скрипт, он выполняет запросы по всем пользователям, только вопрос, почему при выполнении командлета в powershell учетные записи отображаются в сокращенном виде, т.е больше 9 символов он не отображает,есть учетные записи больше 9 букв, как сделать так, чтобы отображалось больше,т.е полностью имя учетной записи?

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Format-Table * -AutoSize

    Или

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Format-List *

    Или

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Out-GridView

    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Denis DyagilevEditor 28 ноября 2018 г. 12:05
    28 ноября 2018 г. 9:23
    Модератор
  • get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem |Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | where {$_.username -like "*Pupkin.V*"}

    The opinion expressed by me is not an official position of Microsoft

    • Предложено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:00
    • Помечено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:00
    27 ноября 2018 г. 18:39
    Модератор

Все ответы

  • а посмотреть в AD нельзя в разделе компьютеры ??   ну даже если и так, вот есть вариант:

    http://corpadmin.pp.ua/blog/other/post/78-uznat-setevye-nastroyki-u-polzovatelya

    распространите на группу пользователей и позвоните им , спросите, что отображается.

    • Предложено в качестве ответа serg_23 26 ноября 2018 г. 13:08
    • Помечено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:24
    26 ноября 2018 г. 13:05
  • Как вариант: Команда выполненная на контроллере домена повзолит узнать IP, с которого пользователь аторизовался на контроллере домена:

    Get-WinEvent -FilterHashtable @{Logname="Security";id=4624} | where {($_.Properties[5].Value -eq "имя.пользователя")} | fl -Property Message

    к сожалению, "причесать" вывод не могу:

    Message : An account was successfully logged on.
              
              Subject:
              	Security ID:		S-1-0-0
              	Account Name:		-
              	Account Domain:		-
              	Logon ID:		0x0
              
              Logon Information:
              	Logon Type:		3
              	Restricted Admin Mode:	-
              	Virtual Account:		No
              	Elevated Token:		Yes
              
              Impersonation Level:		Delegation
              
              New Logon:
              	Security ID:		S----------------------------
              	Account Name:		имя.пользователя
              	Account Domain:		domain.com
              	Logon ID:		0x1486C75E
              	Linked Logon ID:		0x0
              	Network Account Name:	-
              	Network Account Domain:	-
              	Logon GUID:		{----------------------------------}
              
              Process Information:
              	Process ID:		0x0
              	Process Name:		-
              
              Network Information:
              	Workstation Name:	-
              	Source Network Address:	192.168.102.96
              	Source Port:		7417
              
              Detailed Authentication Information:
              	Logon Process:		Kerberos
              	Authentication Package:	Kerberos
              	Transited Services:	-
              	Package Name (NTLM only):	-
              	Key Length:		0
              
              This event is generated when a logon session is created. It is generated on the computer that was accessed.
              
              The subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
              
              The logon type field indicates the kind of logon that occurred. The most common types are 2 (interactive) and 3 (network).
              
              The New Logon fields indicate the account for whom the new logon was created, i.e. the account that was logged on.
              
              The network fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
              
              The impersonation level field indicates the extent to which a process in the logon session can impersonate.
              
              The authentication information fields provide detailed information about this specific logon request.
              	- Logon GUID is a unique identifier that can be used to correlate this event with a KDC event.
              	- Transited services indicate which intermediate services have participated in this logon request.
              	- Package name indicates which sub-protocol was used among the NTLM protocols.
              	- Key length indicates the length of the generated session key. This will be 0 if no session key was requested.

    ну а дальше nslookup в помощь.

    • Предложено в качестве ответа Vector BCOModerator 26 ноября 2018 г. 19:03
    • Помечено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:24
    26 ноября 2018 г. 13:37
  • в AD не получиться, как можно с компа это увидеть, есть какой-нибудь скрипт, который выведет информацию - имя компа, ip-адрес и учетная запись домена?
    26 ноября 2018 г. 13:56
  • а есть скрипт, где информация в трех пунктах, имя компа, ip-адрес, имя четной записи?
    26 ноября 2018 г. 14:05
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami
    26 ноября 2018 г. 14:13
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami

    при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

    IPAddress : fe80::8c:6b00:8823:959e%13

    IPAddress : fe80::60de:8759:3ddf:793e%12

    IPAddress : ::1

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : xxx.xxx.xx.x

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : 127.0.0.1

    а где еще вывод с учетной записью?

    26 ноября 2018 г. 14:22
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami

    при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

    IPAddress : fe80::8c:6b00:8823:959e%13

    IPAddress : fe80::60de:8759:3ddf:793e%12

    IPAddress : ::1

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : xxx.xxx.xx.x

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : 127.0.0.1

    а где еще вывод с учетной записью?

    whoami должен вам вернуть имя учетной записи

    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 14:41
    Модератор
  • а где еще вывод с учетной записью?

    последняя компанда whoami, выполняется залогиненым пользователем. А можно ещё так:

    Get-WmiObject Win32_LoggedOnUser | Select Antecedent -Unique
    26 ноября 2018 г. 14:43
  • ping hostname
    26 ноября 2018 г. 14:49
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami

    при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

    IPAddress : fe80::8c:6b00:8823:959e%13

    IPAddress : fe80::60de:8759:3ddf:793e%12

    IPAddress : ::1

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : xxx.xxx.xx.x

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : 127.0.0.1

    а где еще вывод с учетной записью?

    whoami должен вам вернуть имя учетной записи

    The opinion expressed by me is not an official position of Microsoft


    да, все верно, whoami выводит имя учетной записи, а почему выводится такой большой список ip-адресов? нужен только один, а там еще выводится ip-адрес из файла "hosts", нужен только IPv4

    26 ноября 2018 г. 14:51
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami

    при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

    IPAddress : fe80::8c:6b00:8823:959e%13

    IPAddress : fe80::60de:8759:3ddf:793e%12

    IPAddress : ::1

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : xxx.xxx.xx.x

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : 127.0.0.1

    а где еще вывод с учетной записью?

    whoami должен вам вернуть имя учетной записи

    The opinion expressed by me is not an official position of Microsoft


    да, все верно, whoami выводит имя учетной записи, а почему выводится такой большой список ip-адресов? нужен только один, а там еще выводится ip-адрес из файла "hosts", нужен только IPv4

    Вы противоречите сам себе. Что означает IP из файла Hosts? Файл Hosts используется не для задания IP адресов а как альтернатива DNS.

    Get-NetIPAddress | where AddressFamily -eq IPv4 | ...


    The opinion expressed by me is not an official position of Microsoft


    26 ноября 2018 г. 14:55
    Модератор
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami

    при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

    IPAddress : fe80::8c:6b00:8823:959e%13

    IPAddress : fe80::60de:8759:3ddf:793e%12

    IPAddress : ::1

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : xxx.xxx.xx.x

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : 127.0.0.1

    а где еще вывод с учетной записью?

    whoami должен вам вернуть имя учетной записи

    The opinion expressed by me is not an official position of Microsoft


    да, все верно, whoami выводит имя учетной записи, а почему выводится такой большой список ip-адресов? нужен только один, а там еще выводится ip-адрес из файла "hosts", нужен только IPv4

    Вы противоречите сам себе. Что означает IP из файла Hosts? Файл Hosts используется не для задания IP адресов а как альтернатива DNS.

    Get-NetIPAddress | where AddressFamily -eq IPv4 | ...


    The opinion expressed by me is not an official position of Microsoft



    при выполнении командлета выдает следующее: ... : Имя "..." не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильн
    ость написания имени, а также наличие и правильность пути, после чего повторите попытку.
    строка:1 знак:51
    + Get-NetIPAddress | where AddressFamily -eq IPv4 | ...
    +                                                   ~~~
        + CategoryInfo          : ObjectNotFound: (...:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    26 ноября 2018 г. 15:03
  • а почему выводится такой большой список ip-адресов?

    Потому, что Вы так поставили задачу.

    полная команда для IP адреса:

    Get-NetIPAddress | where AddressFamily -eq IPv4 | fl -Property IPAddress
    26 ноября 2018 г. 15:11
  • $env:computername
    Get-NetIPAddress | fl -Property IPAddress whoami

    при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

    IPAddress : fe80::8c:6b00:8823:959e%13

    IPAddress : fe80::60de:8759:3ddf:793e%12

    IPAddress : ::1

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : xxx.xxx.xx.x

    IPAddress : xxx.xxx.xxx.xxx

    IPAddress : 127.0.0.1

    а где еще вывод с учетной записью?

    whoami должен вам вернуть имя учетной записи

    The opinion expressed by me is not an official position of Microsoft

    этим командлетом выдается информация компа, с которого выполнялся командлет,а как выполнить командлет, чтобы получить информацию об удаленном компьютере?



    26 ноября 2018 г. 16:27
  • а как выполнить командлет на удаленном компьютере?
    есть несколько вариантов по первой же ссылке.
    26 ноября 2018 г. 16:42
  • а как выполнить командлет на удаленном компьютере?

    есть несколько вариантов по первой же ссылке.

    можете помочь, а то я не очень понимаю в этих скриптах? нужно вывод команды на удаленном компе, имя компа, ip-адрес и имя учетной записи.
    26 ноября 2018 г. 16:47
  • Андрей, тут дело такое что многое упирается в конфигурацию вашей сети и ТЗ вашей задачи.

    Например whoami вам на удаленной машине не поможет так как вернет имя того от кого вы запустите скрипт, а вот если вы скрипты расскидаете политикой то поможет.

    Опишите ТЗ детально, что когда и как регулярно вам нужно получать и вам предложат несколько вариантов под конкретно вашу задачу.

    BGInfo которое вам предлагали вполне нормально конфигурится через политики, парсировка логов так же вполне себе решение если у вас немного КД, удаленное выполнение скриптов тоже норм решение, но требует конфигурации сети (например winrm и firewall)


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 17:35
    Модератор
  • Андрей, тут дело такое что многое упирается в конфигурацию вашей сети и ТЗ вашей задачи.

    Например whoami вам на удаленной машине не поможет так как вернет имя того от кого вы запустите скрипт, а вот если вы скрипты расскидаете политикой то поможет.

    Опишите ТЗ детально, что когда и как регулярно вам нужно получать и вам предложат несколько вариантов под конкретно вашу задачу.

    BGInfo которое вам предлагали вполне нормально конфигурится через политики, парсировка логов так же вполне себе решение если у вас немного КД, удаленное выполнение скриптов тоже норм решение, но требует конфигурации сети (например winrm и firewall)


    The opinion expressed by me is not an official position of Microsoft

    регулярно мне не нужно, просто нужно в любой момент сделать запрос через скрипт в AD узнать имя компа, его ip-адрес и имя пользователя, который залогинен в системе и все.
    26 ноября 2018 г. 17:40
  • регулярно мне не нужно, просто нужно в любой момент сделать запрос через скрипт в AD узнать имя компа, его ip-адрес и имя пользователя, который залогинен в системе и все.

    Вам нужно отталкиваться от имени компа или пользователя? Если от имени компа (узнать кто работает на ПК 'ivanov123') можно выполнив 1 команду, а вот для того что бы узнать на каком ПК работает Петров И.С. вам нужно опросить все пк и вот среди них выбрать тот на котором работает ваш пользователь.

    Это 2 абсолютно разные задачи с точки зрение подхода решения.

    В общем случае Help invoke-command -full вам должен помочь но для его работы нужен сконфигурированный winrm + firewall. Но вот если вы его будете использовать для второй задачи, то это может быть проблемой особенно если ПК в вашем домене значительно больше 10.


    The opinion expressed by me is not an official position of Microsoft


    26 ноября 2018 г. 17:48
    Модератор
  • регулярно мне не нужно, просто нужно в любой момент сделать запрос через скрипт в AD узнать имя компа, его ip-адрес и имя пользователя, который залогинен в системе и все.

    Вам нужно отталкиваться от имени компа или пользователя? Если от имени компа (узнать кто работает на ПК 'ivanov123') можно выполнив 1 команду, а вот для того что бы узнать на каком ПК работает Петров И.С. вам нужно опросить все пк и вот среди них выбрать тот на котором работает ваш пользователь.

    Это 2 абсолютно разные задачи с точки зрение подхода решения.

    В общем случае Help invoke-command -full вам должен помочь но для его работы нужен сконфигурированный winrm + firewall. Но вот если вы его будете использовать для второй задачи, то это может быть проблемой особенно если ПК в вашем домене значительно больше 10.


    The opinion expressed by me is not an official position of Microsoft


    нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?
    26 ноября 2018 г. 18:01


  • нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

    я уже давал Вам один из вариантов - анализ логов контроллеров домена. Только там Вы сможете задать имя пользователя и получить IP адрес рабочей станции, с которой он делал запрос. Больше нигде (по умолчанию) доменные пользователи не регистрируются (имеются ввиду удалённая регистрация).

    Как второй вариант настроить IPAM. Там тоже можно по имени пользователя найти все его IP адреса (его компьюетра)

    26 ноября 2018 г. 18:26


  • нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

    я уже давал Вам один из вариантов - анализ логов контроллеров домена. Только там Вы сможете задать имя пользователя и получить IP адрес рабочей станции, с которой он делал запрос. Больше нигде (по умолчанию) доменные пользователи не регистрируются (имеются ввиду удалённая регистрация).

    Как второй вариант настроить IPAM. Там тоже можно по имени пользователя найти все его IP адреса (его компьюетра)

    напомните пожалуйства скрипт, выполнение командлета?
    26 ноября 2018 г. 18:54
  • нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

    Справки ради учетная запись может быть не только пользователя в домене, а так же комптютера или например кластера. Поэтому если пишите нечто подобное то уточняйте о какой УЗ идет речь.

    $Username = 'Pupkin.V'
    get-adcomputer -filter * | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username 
       }
    }
    Только это решение будет зависеть от многих переменных которые так вами и не были озвучены


    The opinion expressed by me is not an official position of Microsoft






    26 ноября 2018 г. 19:01
    Модератор
  • нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

    Справки ради учетная запись может быть не только пользователя в домене, а так же комптютера или например кластера. Поэтому если пишите нечто подобное то уточняйте о какой УЗ идет речь.

    $Username = 'Pupkin.V'
    get-adcomputer * | foreach {
       $ComputerName = $_.Computername 
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }


    The opinion expressed by me is not an official position of Microsoft


    в данном случае, нас интересует пользователя в домене.
    26 ноября 2018 г. 19:04

  • в данном случае, нас интересует пользователя в домене.
    Я это понял по контексту. Не эфективный скрипт я вам выше написал. Но если вы не разбираетесь в скриптах, лучше или начинать по немногу разбираться или не использовать.

    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 19:08
    Модератор

  • в данном случае, нас интересует пользователя в домене.

    Я это понял по контексту. Не эфективный скрипт я вам выше написал. Но если вы не разбираетесь в скриптах, лучше или начинать по немногу разбираться или не использовать.

    The opinion expressed by me is not an official position of Microsoft


    какой все-таки правильный скрипт?
    26 ноября 2018 г. 19:16
  • нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

    Справки ради учетная запись может быть не только пользователя в домене, а так же комптютера или например кластера. Поэтому если пишите нечто подобное то уточняйте о какой УЗ идет речь.

    $Username = 'Pupkin.V'
    get-adcomputer * | foreach {
       $ComputerName = $_.Computername 
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }


    The opinion expressed by me is not an official position of Microsoft


    в данном случае, нас интересует пользователя в домене.

    при выводе скрипта выдается следующее: get-adcomputer : Не удается найти объект с удостоверением: "*" в "DC=sats,DC=local".
    строка:1 знак:1
    + get-adcomputer * | foreach {
    + ~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (*:ADComputer) [Get-ADComputer], ADIdentityNotFoundException
        + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
       icrosoft.ActiveDirectory.Management.Commands.GetADComputer
    26 ноября 2018 г. 19:17

  • при выводе скрипта выдается следующее: get-adcomputer : Не удается найти объект с удостоверением: "*" в "DC=sats,DC=local".
    строка:1 знак:1
    + get-adcomputer * | foreach {
    + ~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (*:ADComputer) [Get-ADComputer], ADIdentityNotFoundException
        + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
       icrosoft.ActiveDirectory.Management.Commands.GetADComputer

    добавте перед * -Filter

    upd: я поправил скрипт


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 19:20
    Модератор

  • при выводе скрипта выдается следующее: get-adcomputer : Не удается найти объект с удостоверением: "*" в "DC=sats,DC=local".
    строка:1 знак:1
    + get-adcomputer * | foreach {
    + ~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (*:ADComputer) [Get-ADComputer], ADIdentityNotFoundException
        + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
       icrosoft.ActiveDirectory.Management.Commands.GetADComputer

    добавте перед * -Filter

    The opinion expressed by me is not an official position of Microsoft


    после добавление перед * -Filter и выполнения скрипта, появилось следующее: Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    строка:3 знак:24
    +    if (Test-Connection $ComputerName -quiet -count 1){
    +                        ~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
    Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    строка:3 знак:24
    +    if (Test-Connection $ComputerName -quiet -count 1){
    +                        ~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
    Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    строка:3 знак:24
    +    if (Test-Connection $ComputerName -quiet -count 1){
    +                        ~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
    Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    строка:3 знак:24
    +    if (Test-Connection $ComputerName -quiet -count 1){
    +                        ~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
    Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    строка:3 знак:24
    +    if (Test-Connection $ComputerName -quiet -count 1){
    +                        ~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
    Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    строка:3 знак:24
    +    if (Test-Connection $ComputerName -quiet -count 1){
    +                        ~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
    Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
    26 ноября 2018 г. 19:28
  • Поправил

    upd: еще раз поправил


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 19:33
    Модератор
  • Поправил

    The opinion expressed by me is not an official position of Microsoft


    так в итоге какой скрипт?
    26 ноября 2018 г. 19:41

  • так в итоге какой скрипт?
    Выше посмотрите

    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 19:42
    Модератор
  • нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

    Справки ради учетная запись может быть не только пользователя в домене, а так же комптютера или например кластера. Поэтому если пишите нечто подобное то уточняйте о какой УЗ идет речь.

    $Username = 'Pupkin.V'
    get-adcomputer -filter * | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username -ErrorAction SilentlyContinue
       }
    }
    Только это решение будет зависеть от многих переменных которые так вами и не были озвучены


    The opinion expressed by me is not an official position of Microsoft





    а почему скрипт не выполняется? или нужно в скрипте значение указывать? или он так должен долго выполняться?



    26 ноября 2018 г. 19:48
  • В чем выражается тот факт что скрипт не выполняется? Вы Пупкина в первой строке на своего пользюка поменяли?

    Уберите -ErrorAction SilentlyContinue


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 19:52
    Модератор

  • так в итоге какой скрипт?

    Выше посмотрите

    The opinion expressed by me is not an official position of Microsoft


    а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?
    26 ноября 2018 г. 19:53

  • а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?
    Уберите -ErrorAction SilentlyContinue

    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 19:54
    Модератор

  • а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?

    Уберите -ErrorAction SilentlyContinue

    The opinion expressed by me is not an official position of Microsoft

    убрал -ErrorAction SilentlyContinue и после выполнения скрипта выдалось следующее: [OM-DC-01] Сбой подключения к удаленному серверу OM-DC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в р
    азделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (OM-DC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [IR-LIC-01] Сбой подключения к удаленному серверу IR-LIC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в
     разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (IR-LIC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [SM-VVC-01] Сбой подключения к удаленному серверу SM-VVC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в
     разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (SM-VVC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [MX1] Сбой подключения к удаленному серверу MX1. Сообщение об ошибке: Отказано в доступе. Подробности см. в разделе спр
    авки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (MX1:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken

    как выполнить нормально, есть готовый и правильный скрипт?

    26 ноября 2018 г. 20:01

  • так в итоге какой скрипт?

    Выше посмотрите

    The opinion expressed by me is not an official position of Microsoft


    а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?

    время выполнения этого скрипта зависит от количества компьютеров в домене ибо этот скрипт подключается к каждому компьютеру в домене и проверяет наличие пользователя на этом компьютере.

    Так же время увеличивается, если компьютер выключе или недоступен по другим причинам. Поэтому вместо опроса всех компов я предлагал опросить только контроллеры домена (их намного меньше, чем компов)

    Ошибка выше говорит, что у Вас не прав на удалённое подключение к компьютерам.
    • Изменено Anahaym 26 ноября 2018 г. 20:02
    26 ноября 2018 г. 20:01

  • а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?

    Уберите -ErrorAction SilentlyContinue

    The opinion expressed by me is not an official position of Microsoft


    убрал -ErrorAction SilentlyContinue и после выполнения скрипта выдалось следующее: [OM-DC-01] Сбой подключения к удаленному серверу OM-DC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в р
    азделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (OM-DC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [IR-LIC-01] Сбой подключения к удаленному серверу IR-LIC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в
     разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (IR-LIC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [SM-VVC-01] Сбой подключения к удаленному серверу SM-VVC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в
     разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (SM-VVC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [MX1] Сбой подключения к удаленному серверу MX1. Сообщение об ошибке: Отказано в доступе. Подробности см. в разделе спр
    авки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (MX1:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken

    А об этом я уже писал 2 раза. Ищите Step-By-Step о том как настраивать WinRM.


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 20:04
    Модератор

  • а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?

    Уберите -ErrorAction SilentlyContinue

    The opinion expressed by me is not an official position of Microsoft


    убрал -ErrorAction SilentlyContinue и после выполнения скрипта выдалось следующее: [OM-DC-01] Сбой подключения к удаленному серверу OM-DC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в р
    азделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (OM-DC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [IR-LIC-01] Сбой подключения к удаленному серверу IR-LIC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в
     разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (IR-LIC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [SM-VVC-01] Сбой подключения к удаленному серверу SM-VVC-01. Сообщение об ошибке: Отказано в доступе. Подробности см. в
     разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (SM-VVC-01:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
    [MX1] Сбой подключения к удаленному серверу MX1. Сообщение об ошибке: Отказано в доступе. Подробности см. в разделе спр
    авки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (MX1:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken

    А об этом я уже писал 2 раза. Ищите Step-By-Step о том как настраивать WinRM.


    The opinion expressed by me is not an official position of Microsoft

    а что такое WinRM? т.е. нужно удаленный комп настраивать?


    26 ноября 2018 г. 20:06

  • так в итоге какой скрипт?

    Выше посмотрите

    The opinion expressed by me is not an official position of Microsoft


    а почему скрипт не выполняется или наоборот он должен очень долго выполнять запрос?

    время выполнения этого скрипта зависит от количества компьютеров в домене ибо этот скрипт подключается к каждому компьютеру в домене и проверяет наличие пользователя на этом компьютере.

    Так же время увеличивается, если компьютер выключе или недоступен по другим причинам. Поэтому вместо опроса всех компов я предлагал опросить только контроллеры домена (их намного меньше, чем компов)

    Если комп недоступен - это не проблема так как комп будет отброшен на первом if а вот количество компов немаловажжный фактор, о котором я так же писал как и о том что скрипт не оптимальных.

    Но если хочеться хардкора, то почему нет :)


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 20:06
    Модератор

  • А об этом я уже писал 2 раза. Ищите Step-By-Step о том как настраивать WinRM.


    The opinion expressed by me is not an official position of Microsoft

    а что такое WinRM?

    https://www.google.com/search?q=winrm

    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 20:08
    Модератор

  • А об этом я уже писал 2 раза. Ищите Step-By-Step о том как настраивать WinRM.


    The opinion expressed by me is not an official position of Microsoft

    а что такое WinRM?

    https://www.google.com/search?q=winrm

    The opinion expressed by me is not an official position of Microsoft


    мне нужно на комп дополнительно установить WinRM? а откуда его скачать и установить?, у меня комп с windows 10
    26 ноября 2018 г. 20:14


  • мне нужно на комп дополнительно установить WinRM? а откуда его скачать и установить?, у меня комп с windows 10

    всё уже есть в Win 10, просто нужно настроить групповую политику.

    Хочу обратить Ваше внимание на то, что на форуме не будут делать за Вас Вашу работу. Помочь - да, но делать всё за Вас - извините... Прошу отнестись к этому с пониманием, и самостоятельно почитать про WinRM и другие незнакомые термины.

    26 ноября 2018 г. 20:26
  • мне нужно на комп дополнительно установить WinRM? а откуда его скачать и установить?, у меня комп с windows 10

    Вы ссыль открывали? Почитайте или на хабре или в wiki, где вам больше понравиться.

    Вам накидали решений которые можно применить за пару часов при условии что не лень почитать.

    Можно конечно разжевать и в рот положить, или сделать все за вас, только вопрос зачем в таком случае вы в этой цепочке?


    The opinion expressed by me is not an official position of Microsoft

    26 ноября 2018 г. 20:59
    Модератор
  • вот есть скрипт - Get-WMIObject -Class Win32_ComputerSystem -Computer "Comp1"|Select-Object Username , который при запросе имени компа выводит имя учетной записи, залогиневшейся в системе, а теперь нужно сделать наоборот, по имени учетной записи, узнать имя компа, вот какой должен быть скрипт?
    27 ноября 2018 г. 7:01
  • вот есть еще скрипт - Get-AdComputer -filter * -SearchBase 'CN=OM-OPP-D01,OU=Отдел поддержки пользователей,OU=Компьютеры,DC=Sats,DC=Local' | foreach {
       $ip = (Resolve-DnsName $_.Name).IPAddress
       "Computername '$($_.Name)' ($ip)"
       .\Get-LoggedOnUser.PS1 -Computername $_.Name
    }

    со сценарием ссылка на сценарий - https://gallery.technet.microsoft.com/scriptcenter/d46b1f3b-36a4-4a56-951b-e37815a2df0c

    в этом скрипте выполняется запрос по имени компьютера через AD в определенном контейнере AD (OU=Отдел поддержки пользователей,OU=Компьютеры,DC=Sats,DC=Local') выдает ip-адрес компьютера, а нужно по имени учетной записи пользователя, залогиневшейся в системе, определить имя компьютера или ip-адрес компьютера

    27 ноября 2018 г. 7:46
  • а нужно по имени учетной записи пользователя, залогиневшейся в системе, определить имя компьютера или ip-адрес компьютера

    Повторяю в третий раз: где залогинился пользователь знают контороллеры домена.
    27 ноября 2018 г. 8:17
  • значит этот скрипт

    $Username = 'Pupkin.V'
    get-adcomputer -filter * | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }

    полностью рабочий и выполняет запрос по имени учетной записи пользователя в домене, залогиневшемся в системе, определяет его имя компьютера?

    27 ноября 2018 г. 9:22
  • Этот скрипт выполняет поиск всех компьютеров в домене в AD, потом подключается к каждому компьютеру, выводит имя компьютера если там есть залогинен Pupkin.V.
    27 ноября 2018 г. 9:31
  • значит этот скрипт

    $Username = 'Pupkin.V'
    get-adcomputer -filter * | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }

    полностью рабочий и выполняет запрос по имени учетной записи пользователя в домене, залогиневшемся в системе, определяет его имя компьютера?

    да, этот скрипт полностью рабочий, решает задачу именно так как вы ее поставили но это решение не оптимально (долго).

    Если вам обратился пользователь и в компании например 300 машин, то вам пользователю быдет быстрее обьяснить где посмотреть имя компа, чем получить результаты скрипта.

    Если компов в вашем домене 10, тогда вероятно проблем особых вы не заметите.

    Скрипт подходит если вам результат не нужен прямо сейчас (а скажем часа через 2).

    Поиск по логам в вашем случае будет более быстрым выходом, но опять таки при условии что у вас логи храняться за больший период чем релогиняться пользователи и количество КД у вас относительно небольшое (скажем до 4).

    Если вопрос в том что бы поддержка могла подключиться к пользюку не тратя час времени на поиск компа - bginfo ваш выбор (дешево и сердито)

    Вы можете найти еще много реализаций, но все они будут требовать действий с вашей стороны (в том числе и уже предложенные здесь).

    Есть еще популяоный вариант переписывать в учетке пользователя атрибут указывая машину на которой пользюк залогинен, но этот вариант наиболее трудозатратный и требует понимания синтаксиса скриптов (и желательно логики)


    The opinion expressed by me is not an official position of Microsoft

    27 ноября 2018 г. 9:41
    Модератор
  • значит этот скрипт

    $Username = 'Pupkin.V'
    get-adcomputer -filter * | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }

    полностью рабочий и выполняет запрос по имени учетной записи пользователя в домене, залогиневшемся в системе, определяет его имя компьютера?

    да, этот скрипт полностью рабочий, решает задачу именно так как вы ее поставили но это решение не оптимально (долго).

    Если вам обратился пользователь и в компании например 300 машин, то вам пользователю быдет быстрее обьяснить где посмотреть имя компа, чем получить результаты скрипта.

    Если компов в вашем домене 10, тогда вероятно проблем особых вы не заметите.

    Скрипт подходит если вам результат не нужен прямо сейчас (а скажем часа через 2).

    Поиск по логам в вашем случае будет более быстрым выходом, но опять таки при условии что у вас логи храняться за больший период чем релогиняться пользователи и количество КД у вас относительно небольшое (скажем до 4).

    Если вопрос в том что бы поддержка могла подключиться к пользюку не тратя час времени на поиск компа - bginfo ваш выбор (дешево и сердито)

    Вы можете найти еще много реализаций, но все они будут требовать действий с вашей стороны (в том числе и уже предложенные здесь).

    Есть еще популяоный вариант переписывать в учетке пользователя атрибут указывая машину на которой пользюк залогинен, но этот вариант наиболее трудозатратный и требует понимания синтаксиса скриптов (и желательно логики)


    The opinion expressed by me is not an official position of Microsoft

    "Есть еще популяоный вариант переписывать в учетке пользователя атрибут указывая машину на которой пользюк залогинен, но этот вариант наиболее трудозатратный и требует понимания синтаксиса скриптов (и желательно логики)" - а можно по подробней по последнему пункту, как это сделать?

    этот скрипт обращается к контроллеру домена, т.е к серверу домена, а у нас нет полных прав к серверу, но есть доступ в AD к контейнеру "Компьютеры" и "Пользователи", а как сделать так, чтобы скрипт выполнял запрос именно к контейнеру "Компьютеры" и "Пользователи", как можно это в скрипте написать?


    27 ноября 2018 г. 10:09
  • этот скрипт обращается к контроллеру домена, т.е к серверу домена, а у нас нет полных прав к серверу, но есть доступ в AD к контейнеру "Компьютеры" и "Пользователи", а как сделать так, чтобы скрипт выполнял запрос именно к контейнеру "Компьютеры" и "Пользователи", как можно это в скрипте написать?
    27 ноября 2018 г. 10:47
  • а у нас нет полных прав к серверу
    я рекомендую обратиться Вам к тому, у кого есть полные права, кто является системным администратором в Вашей компании.
    27 ноября 2018 г. 11:08
  • "Есть еще популяоный вариант переписывать в учетке пользователя атрибут указывая машину на которой пользюк залогинен, но этот вариант наиболее трудозатратный и требует понимания синтаксиса скриптов (и желательно логики)" - а можно по подробней по последнему пункту, как это сделать?

    этот скрипт обращается к контроллеру домена, т.е к серверу домена, а у нас нет полных прав к серверу, но есть доступ в AD к контейнеру "Компьютеры" и "Пользователи", а как сделать так, чтобы скрипт выполнял запрос именно к контейнеру "Компьютеры" и "Пользователи", как можно это в скрипте написать?

    1 переписывание аттрибута делается через adsi запросы в которых нужно некисло покурить синтаксис + политики на пользователя которая быдет выполнять скрипт. Я полностью готовых вариантов в сети не встречал. А вкладывать пол дня в эксперименты не готов.

    2 вы выше приводили найденный пример с -SearchBase, вам его стоит попробовать использовать подставив нужный CN


    The opinion expressed by me is not an official position of Microsoft

    27 ноября 2018 г. 11:54
    Модератор
  • почему после выполнения скрипта выдает следующее: [EN-OMTS-D03] Сбой подключения к удаленному серверу EN-OMTS-D03. Сообщение об ошибке: Клиенту не удается подключиться к
     узлу назначения, указанному в запросе. Убедитесь, что служба на узле назначения работает и принимает запросы. Ознакомь
    тесь с журналами и документацией для определения запущенной на узле назначения службы WS-Management (чаще всего это IIS
     или WinRM). Если это служба WinRM, то для анализа состояния и настройки этой службы используйте на удаленном узле кома
    нду "winrm quickconfig". Подробности см. в разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (EN-OMTS-D03:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : CannotConnect,PSSessionStateBroken

    служба WinRM запущена на удаленном компьютере, из-за чего может выдавать эта ошибка?

    Уважаемые админы и модераторы, подскажите пожалуйста, из-за чего эта ошибка появляется, WinRM на удаленном компьютере настроен, как исправить данную ошибку?
    27 ноября 2018 г. 12:45
  • при выполнении скрипта - $Username = 'Pupkin.V'
    get-adcomputer -filter * -SearchBase 'OU=Отдел поддержки пользователей,OU=Компьютеры,DC=Sats,DC=Local' | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }

    выдается следующее: [EN-OMTS-D03] Сбой подключения к удаленному серверу EN-OMTS-D03. Сообщение об ошибке: Клиенту не удается подключиться к
     узлу назначения, указанному в запросе. Убедитесь, что служба на узле назначения работает и принимает запросы. Ознакомь
    тесь с журналами и документацией для определения запущенной на узле назначения службы WS-Management (чаще всего это IIS
     или WinRM). Если это служба WinRM, то для анализа состояния и настройки этой службы используйте на удаленном узле кома
    нду "winrm quickconfig". Подробности см. в разделе справки "about_Remote_Troubleshooting".
        + CategoryInfo          : OpenError: (EN-OMTS-D03:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : CannotConnect,PSSessionStateBroken

    WinRM настроен на удаленном компьютере, как исправить данную ошибку?

    27 ноября 2018 г. 14:44
  • Возможны варианты: 

    - закрыт один или оба из 2 портов на firewall клиента

    - PoSh на сервере запускаете не от имеет администратора (нехватка прав)

    - ваш пользователь не входить в групу локальных админом этой станции (на клиенте)

    - конфигурация winrm не содержить машину с которой ввыполняете скрипт в TrustedHosts


    The opinion expressed by me is not an official position of Microsoft




    27 ноября 2018 г. 15:20
    Модератор
  • а данный скрипт, нужно запускать именно на сервере AD? а пользователь обязательно должен быть локальным админом компьютера? какие именно порты должны быть открыты?

    "- конфигурация winrm не содержить машину с которой ввыполняете скрипт в TrustedHosts"

    в последнем пункте - вы про что имеете ввиду? вы имеете ввиду, в последнем пункте - WinRM не должен быть настроен на том компьютере, с которого запускаем скрипт?




    27 ноября 2018 г. 15:39
  • а данный скрипт, нужно запускать именно на сервере AD? а пользователь обязательно должен быть локальным админом компьютера? какие именно порты должны быть открыты?

    "- конфигурация winrm не содержить машину с которой ввыполняете скрипт в TrustedHosts"

    в последнем пункте - вы про что имеете ввиду? вы имеете ввиду, в последнем пункте - WinRM не должен быть настроен на том компьютере, с которого запускаем скрипт?

    1 не обязательно запускать скрипт с КД, можно и с компа на котором есть RSAT с коммандлетами activedirectory (предвидя вопрос google.com rsat)

    2 не обязательно но, без админ полномочий настройка winrm не столь тривиальна

    3 google.com winrm ports (проверяется telnet <client> <port>)

    4 winrm должен быть настроен на удаленной машине

    исходя из ваших вопросов, что конкретно вы называете "WinRM настроен на удаленном компьютере"?


    The opinion expressed by me is not an official position of Microsoft

    27 ноября 2018 г. 16:59
    Модератор
  • C:\Windows\system32>WinRM enumerate winrm/config/listener
    Listener
        Address = *
        Transport = HTTP
        Port = 5985
        Hostname
        Enabled = true
        URLPrefix = wsman
        CertificateThumbprint
        ListeningOn = 127.0.0.1, 169.254.210.228, 192.168.56.1, 192.168.165.183, ::1, fe80::8c:6b00:8823:959e%13, fe80::1835:61f1:ed3d:d2e4%9, fe80::60de:8759:3ddf:793e%12

    вот так настроен WinRM на удаленном компе

    27 ноября 2018 г. 17:13
  • судя по конфигурации вы видите порт на котором сидит winrm теперь можете проверить что вам вернет телнет если обратиться с компа на котором выполняете скрипт

    The opinion expressed by me is not an official position of Microsoft

    27 ноября 2018 г. 17:24
    Модератор
  • на компе, с которого выполняется скрипт есть RSAT (Средства Администрирования Windows), при выполнении скрипта: $Username = 'Pupkin.V'
    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }

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

    27 ноября 2018 г. 17:27
  • вот есть скрипт - Get-WMIObject -Class Win32_ComputerSystem -Computer "Comp1"|Select-Object Username , он выдает информацию зная имя компа, определяет имя пользователя, как можно в этом скрипте или дописать в нем, чтобы выполнялось наоборот, зная учетную запись, определялось имя компа?
    27 ноября 2018 г. 17:35
  • вот есть скрипт - Get-WMIObject -Class Win32_ComputerSystem -Computer "Comp1"|Select-Object Username , он выдает информацию зная имя компа, определяет имя пользователя, как можно в этом скрипте или дописать в нем, чтобы выполнялось наоборот, зная учетную запись, определялось имя компа?

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername|Select-Object Name, Username } | where {$_.username -like "*Pupkin.V*"}


    The opinion expressed by me is not an official position of Microsoft


    27 ноября 2018 г. 17:49
    Модератор
  • на компе, с которого выполняется скрипт есть RSAT (Средства Администрирования Windows), при выполнении скрипта: $Username = 'Pupkin.V'
    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
       if (Test-Connection $ComputerName -quiet -count 1){
           invoke-command -computername $ComputerName -scriptblock {
              $Users = $(qwinsta | Select-String -Pattern 'Active' | Out-String ) -split '\r\n'| foreach {if ($_ -match '[^\s]+\s+(?''UN''\w+)'){$Matches['UN']}}
              if ($users -contains $args[0]){
                  $return = @{$env:computername = $users}
                  return $return           
              }
          } -ArgumentList $Username
       }
    }

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


    Пупкина на своего пользюка поменяли? скрипт закончил свою работу?

    The opinion expressed by me is not an official position of Microsoft


    27 ноября 2018 г. 17:50
    Модератор
  • да, меняем на своего пользователя, при выполнении скрипта, выдает следующее: Name        Username
    ----        --------
    EN-OMTS-D09 SATS\s.morev ,да спасибо, все получилось, а что нужно дописать в скрипте, чтобы выдавался ip-адрес компа?


    27 ноября 2018 г. 17:56
  • get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem |Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | where {$_.username -like "*Pupkin.V*"}

    The opinion expressed by me is not an official position of Microsoft

    • Предложено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:00
    • Помечено в качестве ответа Vector BCOModerator 28 ноября 2018 г. 8:00
    27 ноября 2018 г. 18:39
    Модератор
  • при выполнении скрипта, скрипт выполняется, но ничего не происходит, значение никакого нет
    27 ноября 2018 г. 18:56
  • при выполнении скрипта, скрипт выполняется, но ничего не происходит, значение никакого нет

    Пупкина поменяли?

    The opinion expressed by me is not an official position of Microsoft

    27 ноября 2018 г. 19:05
    Модератор
  • get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem |Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | where {$_.username -like "*Pupkin.V*"}

    The opinion expressed by me is not an official position of Microsoft


    при выводе скрипта, ничего не происходит, скрипт выполняется, но ничего не происходит
    27 ноября 2018 г. 19:07
  • при выполнении скрипта, скрипт выполняется, но ничего не происходит, значение никакого нет


    Пупкина поменяли?

    The opinion expressed by me is not an official position of Microsoft


    Да, есть еще какие-нибудь варианты?

    вот есть еще скрипт - Get-AdComputer -filter * -SearchBase 'CN=OM-OPP-D01,OU=Отдел поддержки пользователей,OU=Компьютеры,DC=Sats,DC=Local' | foreach {
       $ip = (Resolve-DnsName $_.Name).IPAddress
       "Computername '$($_.Name)' ($ip)"
       .\Get-LoggedOnUser.PS1 -Computername $_.Name
    }

    со сценарием(Get-LoggedOnUser.PS1) ссылка на сценарий - https://gallery.technet.microsoft.com/scriptcenter/d46b1f3b-36a4-4a56-951b-e37815a2df0c

    в этом скрипте выполняется запрос по имени компьютера через AD в определенном контейнере AD (OU=Отдел поддержки пользователей,OU=Компьютеры,DC=Sats,DC=Local') выдает ip-адрес компьютера

    как можно совместить этот скрипт с вашим скриптом?
    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername|Select-Object Name, Username } | where {$_.username -like "*Pupkin.V*"}


    27 ноября 2018 г. 19:15
  • get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem |Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | where {$_.username -like "*Pupkin.V*"}

    The opinion expressed by me is not an official position of Microsoft


    при выводе скрипта, ничего не происходит, скрипт выполняется, но ничего не происходит
    уберите последний where оставив в последней строке только 1 символ фигурной скобки

    The opinion expressed by me is not an official position of Microsoft

    27 ноября 2018 г. 21:51
    Модератор
  • get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem |Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | where {$_.username -like "*Pupkin.V*"}

    The opinion expressed by me is not an official position of Microsoft


    при выводе скрипта, ничего не происходит, скрипт выполняется, но ничего не происходит

    уберите последний where оставив в последней строке только 1 символ фигурной скобки

    The opinion expressed by me is not an official position of Microsoft

    как должна выглядеть последняя строка в скрипте?какую фигурную скобку убрать?


    28 ноября 2018 г. 6:37
  • get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
       Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername|Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username
    } | where {$_.username -like "*Pupkin.V*"}

    вот этот скрипт правильный, выполняет полностью запрос по имени учетной записи, залогиневшейся в системе - определяет имя и ip-адрес компьютера, при запросе командлет - делает вывод информации: ComputerName  IP  Username

    Спасибо всем за помощь, БОЛЬШОЕ СПАСИБО модератору - Vector BCO!!!


    28 ноября 2018 г. 7:38
  • как должна выглядеть последняя строка в скрипте?какую фигурную скобку убрать?

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

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username }


    The opinion expressed by me is not an official position of Microsoft

    28 ноября 2018 г. 8:00
    Модератор
  • как должна выглядеть последняя строка в скрипте?какую фигурную скобку убрать?

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

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username }


    The opinion expressed by me is not an official position of Microsoft


    спасибо большое за скрипт, он выполняет запросы по всем пользователям, только вопрос, почему при выполнении командлета в powershell учетные записи отображаются в сокращенном виде, т.е больше 9 символов он не отображает,есть учетные записи больше 9 букв, как сделать так, чтобы отображалось больше,т.е полностью имя учетной записи?

    28 ноября 2018 г. 9:09
  • как должна выглядеть последняя строка в скрипте?какую фигурную скобку убрать?

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

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username }


    The opinion expressed by me is not an official position of Microsoft


    спасибо большое за скрипт, он выполняет запросы по всем пользователям, только вопрос, почему при выполнении командлета в powershell учетные записи отображаются в сокращенном виде, т.е больше 9 символов он не отображает,есть учетные записи больше 9 букв, как сделать так, чтобы отображалось больше,т.е полностью имя учетной записи?

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Format-Table * -AutoSize

    Или

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Format-List *

    Или

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Out-GridView

    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Denis DyagilevEditor 28 ноября 2018 г. 12:05
    28 ноября 2018 г. 9:23
    Модератор
  • как должна выглядеть последняя строка в скрипте?какую фигурную скобку убрать?

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

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username }


    The opinion expressed by me is not an official position of Microsoft


    спасибо большое за скрипт, он выполняет запросы по всем пользователям, только вопрос, почему при выполнении командлета в powershell учетные записи отображаются в сокращенном виде, т.е больше 9 символов он не отображает,есть учетные записи больше 9 букв, как сделать так, чтобы отображалось больше,т.е полностью имя учетной записи?

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Format-Table * -AutoSize

    Или

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Format-List *

    Или

    get-adcomputer -filter * -SearchBase 'OU=Отдел материально-технического снабжения,OU=Энгельса,OU=Компьютеры,DC=sats,DC=local' | foreach {
       $ComputerName = $_.Name
    Get-WMIObject -Class Win32_ComputerSystem -Computer $Computername | Select @{n = 'ComputerName';e = {$_.Name}}, @{n = 'IP'; e = {(Resolve-DnsName -Name $_.Name).IPAddress}}, Username } | Out-GridView

    The opinion expressed by me is not an official position of Microsoft


    Спасибо БОЛЬШОЕ за скрипты Vector BCO!!! все они четко выполняют запросы, кстати а WinRM не обязательно настраивать на удаленных компьютерах, эти скрипты и так все выполняют в полном объеме без WinRM, а Вы Vector BCO - программист?, т.к. хорошо умеете скрипты писать, еще раз БОЛЬШОЕ ВАМ СПАСИБО за помощь!!!
    28 ноября 2018 г. 11:46
  • Нет, я не програмист. Я просто занимаюсь тем что мне интересно + не люблю монотонную работу и в этом плане скрипты очень выручают

    The opinion expressed by me is not an official position of Microsoft

    28 ноября 2018 г. 12:13
    Модератор