#
# Name: ChangeCategory.ps1
# Copyright: Microsoft 2009
# Revision: 1.0
#
# This script can be used to change the network category of
# an 'Unidentified' network to Private to allow common network
# activity. This script should only be run when connected to
# a network that is trusted since it will also affect the
# firewall profile used.
# This script is provided as-is and Microsoft does not assume any
# liability. This script may be redistributed as long as the file
# contains these terms of use unmodified.
#
# Usage:
# Start an elevated Powershell command window and execute
# ChangeCategory.ps1
#
Добавлю. Возникла нужда на win 8.1 изменить сеть на общественную, что оказалось не так то просто (!) Сначала пришлось политиками отключать домашнюю группу. Потом отыскал такой скрипт.
Так, у Вас коды по сути одинаковые, просто во втором константы попутаны:
$NLM_NETWORK_CATEGORY_PUBLIC = 0x00 а не 0x01
(надо было делать что-то одно. Только константы следующий раз не трогайте - грех.)
На TechNet пишут, что скрипт для Windows Server 2008 R2 - вероятно, будет и на 8.1. работать.
По коду № 1 ничего плохого не скажу:
перебираются циклом все сети, с фильтрацией только подключенных, приватных и имеющих имя "Unidentified network".
Если такую находит, изменяет ее категорию на NLM_NETWORK_CATEGORY_PRIVATE (т.е. домашнюю.)
Если нужно наоборот - домашнюю сменить на публичную, то код будет выглядеть так:
Невозможно загрузить файл C:\Users\partizan\Desktop\PublicNet.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. ab
out_Execution_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170.
По-умолчанию, доступно выполнение только подписанных сценариев.
Чтобы разрешить запуск неподписанных, следует ввести команду:
PowerShell:
Set-ExecutionPolicy RemoteSigned
непосредственно в окно интерпретатора.
Для его запуска с повышенными правами нажимаем Пуск (в Win 8 Ctrl + Esc) набираем PowerShell, затем Ctrl + Shift + Enter.