Subnet contains IP? Вот в чем вопрос!

Доброго!

Сегодня маленький скриптик, который поможет вычислять входит ли IP в подсеть.

Код скрипта

Function Compare-IPinSubnet {
param (
	[string]$CIDR,
	[string]$IP
)

	[int]$PrefixLength = $CIDR -replace '^[\d\.]+(\\|\/)',''
	[string]$Subnet = $CIDR -replace '(\\|\/)\d+$',''
	$SplitSubnetBin = $Subnet -split '\.' -match '\d' | % {[convert]::ToString($_,2).PadLeft(8,'0')}
	$SubnetBin = $SplitSubnetBin -join ''
	$SplitIPBin = $IP -split '\.' -match '\d' | % {[convert]::ToString($_,2).PadLeft(8,'0')}
	$IPBin = $SplitIPBin -join ''
	[bool]$Result = $true
	for ($i = 0; $i -lt $PrefixLength; $i += 1) {
		[bool]$diff = [convert]::ToInt32(($SubnetBin[$i]),2) -eq [convert]::ToInt32(($IPBin[$i]),2)
		if ($diff -eq $false) {
			$Result = $diff
		}
	}

	$Result
}

Читать далее

Реклама

PowerShell — Mac Address Vendor Database IEEE

Долгое время у меня не получалось написать этот скрипт так, чтоб самому было приятно пользоваться, предыдущая попытка называлась Resolve-MacAddress и была вполне рабочая, но там были неприятные моменты:

Перед первым использованием с сайта стандартов скачивалась база, что могло напугать неподготовленного пользователя, и скрипт не поддерживал конвейер, т.к. в нем было много много разного функционала, который вызывался через разные параметры. Нужно было как-то разнести обновление/импорт базы и саму функцию поиска мака в базе. Так появился модуль MacAddressVendorDatabaseIEEE, который включает в себя функции (Update-MacAddressDatabase, Import-MacAddressDatabase, Get-MacAddressVendor) и саму базу.

Читать далее

PowerShell — Get-MyIP

Как узнать свой внешний IP через PowerShell

Я видел несколько подходов к этому вопросу и пришел к выводу что для большинства людей будет удобным самый популярный вариант — зайти на сайт, который ответит вам с какого адреса вы зашли.
Я решил усовершенствовать этот подход, т.к. пользоваться одним сайтом не очень надежно, он может быть недоступен или он может устать от запросов и включить защиту, поэтому в моей функции осуществляется проход по самым популярным ресурсам в порядке увеличения веса страницы.
Скрипт использует Invoke-WebRequest, но для обратной совместимости с PowerShell2.0 используется так же net.webclient

Кстати рекомендую следующую регулярку для поиска IP адреса в тексте

(((\d){1,3}\.){3}(\d){1,3})

Читать далее

netsh wlan hostednetwork

Настраиваем WiFi точку доступа (AccessPoint) в Windows

# Настройка и включение сети

netsh wlan set hostednetwork ssid="WindowsAPname" keyusage=persistent key="Passw0rd"
netsh wlan start hostednetwork

# Остановка сети

netsh wlan stop hostednetwork

# Просмотр состояния

netsh wlan show hostednetwork