Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата tarasov.evgeny:
Хотелось бы перенести данные за имя компьютера и получить только имя пользователя без домена и скобок. »
как-то так:
Код: Выделить весь код
Function GetProgramFiles{
  $pslist = Read-Host "Введите имя компьютера:"
  $a = Get-QADComputer -Name $pslist

  ForEach ($1 in $a) {
    "---------------------"
    "Computer: " + $1.name
    Get-WmiObject Win32_ComputerSystem -ComputerName $1.name |
    ForEach-Object {"UserName: " + [regex]::replace($_.UserName,".*\\","")}
    "---------------------"
    Get-WmiObject Win32_Process -ComputerName $1.name |
    Where-Object {($_.path -notlike "c:\windows\*")`
      -and ($_.path -notlike "c:\Program Files\*")`
      -and ($_.path -notlike "c:\PROGRA~1\*")} |
    ForEach-Object {$_.Name}
  }
}
Цитата tarasov.evgeny:
вторая функция запихнута в if, но не работает с массивом, а только с одним значением »
потому что Test-Connection (у меня такого нет, равно как и Get-QADComputer) проверяет один хост, а не список $pslist, поэтому он должен выполняться внутри блока ForEach (для каждого имени)

Последний раз редактировалось amel27, 21-10-2010 в 02:44. Причина: очепятка

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:55, 20-10-2010 | #6