Итак, я хочу указать имя пользователя и вернуть имя компьютера. Когда я запускаю это, он сообщает мне, что мои $ компьютеры
obj имеют значение null
. Почему бы
Итак, я хочу указать имя пользователя и вернуть имя компьютера. Когда я запускаю это, он сообщает мне, что мои $ компьютеры
obj имеют значение null
. Почему бы
Итак, я хочу указать имя пользователя и вернуть имя компьютера. Когда я запускаю это, он сообщает мне, что мои $ компьютеры
obj имеют значение null
. Почему бы
$ computers = Get-ADComputer | где {$ _. accountdisabled -eq $ false}
return null
?
Мой сценарий пока выглядит следующим образом:
Function Get-Username{
$Global:Username = read-Host "Enter a username"
if ($Username -eq $null){
Write-Host "Username can't be blank. Enter username"
Get-Username
}
$UserCheck = Get-ADUser -Filter 'Name -like $Username' | FT Name, SamAccountName -A
if($UserCheck -eq $null){
Write-Host "Invalid username, enter username"
Get-Username
}
}
Get-username
$computers = Get-ADComputer | where {$_.accountdisabled -eq $false}
foreach($comp in $computers){
$Computer = $comp.Name
$ping = New-Object System.Net.NetworkInformation.Ping
$Reply = $null
$Reply = $ping.send($Computer)
if($Reply.status -like 'Success'){
$proc = gwmi win32_process -computer $Computer -Filter "Name = 'explorer.exe'"
ForEach($p in $proc){
$temp = ($p.GetOwner()).User
if($temp -eq $Username){
Write-Host "$Username is logged on $Computer"
}}}}
Первое, что я вижу, это когда я запускаю Get-ADComputer 'ему нужен фильтр.
После применения фильтра я все еще не вижу свойство accountdisabled для Get-AdComputer, я думаю, вы имеете в виду «Включено»
$computers = Get-ADComputer -Filter * | where {$_.Enabled -eq $false}
Вы можете изменить этот фильтр перед запуском.
Изменить: извините; чтобы найти свойства, выполните Get-ADComputer | Get-Member
покажет вам список всех свойств. Это мой командлет №1, который я использовал.