Чи є спосіб запитувати список користувачів, які можуть отримати доступ до підключення VPN у Windows Server 2008 R2


0

Мені було цікаво, чи можна запитувати (powershell, ADUC і т.д.) і генерувати список користувачів, які можуть увійти до сервера VPN, що працює на Windows Server 2008 R2?

Головне, що контролює можливість підключення до VPN для даного користувача, залежить тільки від налаштувань на вкладці Dial In?

Редагувати

Для Techie007, тут виводиться помилка

 Select-Object : Cannot process argument because the value of argument "obj" is
null. Change the value of argument "obj" to a non-null value.
At C:\Users\itsupport\function.ps1:5 char:58
+     $dialin = Get-ADUser $username -Properties * | select <<<<  -ExpandProper
ty msNPAllowDialin
    + CategoryInfo          : InvalidArgument: (:) [Select-Object], PSArgument
   NullException
    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.Selec
   tObjectCommand

Вищенаведений висновок надруковується знову і знову, а потім надрукує одне ім'я користувача, а потім знову покаже помилку, а потім надрукує інше ім'я користувача, а потім знову покаже помилку. Будь-яка ідея, чому це робиться?

Відповіді:


1

Головне, що контролює можливість підключення до VPN для даного користувача, залежить тільки від налаштувань на вкладці Dial In?

Так, і ви можете отримати її за допомогою PowerShell (запустити на контролері домену) так:

$usernames = Get-ADUser -Filter * | select -ExpandProperty SamAccountName

foreach ($username in $usernames) {

    $dialin = Get-ADUser $username -Properties * | select -ExpandProperty msNPAllowDialin

    if ($dialin -eq "True") {
        Write-Output $username
    }
}

Крім того, ви можете отримати його з командного рядка (запустити на контролері домену), використовуючи dsquery:

dsquery * -Filter "(&(objectCategory=person)(objectClass=user)(msNPAllowDialin=TRUE))"

додавання вихідних помилок до початкового запитання. перший працював, дещо, але з деякими помилками між кожним ім'ям користувача.
Richie086

hmm, яку версію PowerShell ви використовуєте ( $psversiontable.PSVersion запустити в PowerShell повідомить вам)?
Ƭᴇcʜιᴇ007

Схоже, PowerShell v2 :( Я зміг відфільтрувати помилки і отримати необхідні дані з вашого першого сценарію PowerShell.
Richie086

До речі Techie007, ви врятували мою дупу так багато разів. Я просто хотів бути впевнений, що ви знаєте, наскільки я ціную вашу допомогу. Дякую!
Richie086

Немає проблем Річі, я ціную це. ;) PS: 2008R2 підтримує до PowerShell версії 5 (останнє прямо зараз). Найменше потрібно оновити його до PS3, тому що 3 значно краще, ніж 2. Якщо ви не використовуєте стару версію Exchange або SBS, ви можете навіть перейти до v5 (але двічі перевірити / Google сумісність з послугами у вас є запущений перед виконанням що).
Ƭᴇcʜιᴇ007
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.