Public/Test-IsNetworkDomainAuthenticated.ps1
function Test-IsNetworkDomainAuthenticated { <# .SYNOPSIS Функция проверяет, подключн ли узел к доменной сети. .DESCRIPTION Функция проверяет атрибут NetworkCategory у всех сетевых адаптеров, чтобы определить, подключен ли узел к доменной сети. .EXAMPLE PS C:\> Test-IsNetworkDomainAuthenticated Вернет True, если обнаружено подключение к оменной сети и False - если нет. .INPUTS Функция не принимает параметров. .OUTPUTS Возвращает True или False. .NOTES Функция создана для использования в скриптах, работа которых возможна только в домееной сети, но они при этом используются на ноутбуках, которые могут оказаться за пределами сети. #> [CmdletBinding()] [OutputType([System.Boolean])] param ( ) begin { $Result = $false } process { try { if ($IsLinux) { throw [System.Configuration.ConfigurationException]::New('This operation system does not supported.') } Get-NetConnectionProfile | ForEach-Object -Process { if ($PSItem.NetworkCategory -eq 'DomainAuthenticated') { $Result = $true } } } catch { Write-Error -Exception $PSItem.Exception $Result = $false } } end { return $Result } } |