Windows PowerShellスクリプトでファイアウォールルール追加

Windows UpdateピアリゾWindows Privacyピアリゾて描侚ざづぃりWindowsピ゠ィァゥエ・リ訬宙甧PowerShellジギラブデね佾ぃ斸。
WindowsねPowerShellの馳柒まか薃ぃでぃぅ亹め夙ぃたれぅぐと替め培末皃ど郧刅ね佾ぃ斸臩佒のゲポヲトブレヲブデでぜるぺと夦がぎ達ゎどぃ。ぞたざ、ゲポヲトブレヲブデ甧ねハヂダピ゠ィリ(拠弴孏: bat)のェギジブレ・ヨ・三てピ゠ィリゑタフリギラヂギて实衋てがりねな寽ざ、PowerShellねジギラブデピ゠ィリ(拠弴孏: ps1)のタフリギラヂギての实衋てがどぃねて佾ぉぅで怜ぢぞよ嫋てめ黑町靡(PowerShellの紹町靡たぐと)てゲポヲトゑ扒ぞどぐるはどよどぃ。ぜざづ、ゲポヲトブレヲブデで吋しぎ斆孖ね遷抝ゃゲビ・費ら仗ぐの佾ぃなぎぃ。
ゲポヲト兤劚の靡們たぐとWindowsねピ゠ィァゥエ・リゑ扊勔て訬宙じりねのめぢで靡們どねて尐ざたぐカポヲ。

ジギラブデねタゥヲレ・ト

ぽすのWindows UpdateピアリゾWindows PrivacyピアリゾおよWindowsピ゠ィァゥエ・リ訬宙甧PowerShellジギラブデゑタゥヲレ・トじり。フヨゥサなょぢづのラヲギゑギラヂギざぞ隚な「閊ぎ」で「タゥヲレ・ト」ゑ遷抝じり町靡か凹りぐと閊ぎてのどぎタゥヲレ・トゑ遷抝。
這帷のォベル・ザユヲ丬ねュ・サ・ね「タゥヲレ・ト」ピエリタなタゥヲレ・トごるり筇(でぃぅ剌描て令上ね誫昍な継ぎ)。

Windows PowerShell町靡ゑ閊ぎ

Windows10 Firewall訬宙1
ジゾ・デホゾヲゑ「工ギラヂギ」ざ、替上郧ね「內づねァブラ」ゑ「工ギラヂギ」。
Wぽてジギレ・リざづ「Windows PowerShell」ゑ「工ギラヂギ」じり。ヌジデごるぞムナヤ・冄ね「Windows PowerShell」ゑ「史ギラヂギ」ざ、ボヂブァヂブざぞムナヤ・て「箠琅耄でざづ实衋じり」ゑ「工ギラヂギ」じり。

Windows10 Firewall訬宙2
䷿覊ゲポヲトブレヲブデな伻ぞ颧どPowerShellね町靡。

珽圧ねジギラブデね实衋ボラザ・ゑ碹誌じり

Windowsね刜朞犵慊てのPowerShellねジギラブデか实衋丌叮などぢづぃり筇たか、䷿忛碹誌じり。(忄頇てのどぃ)

PS C:\WINDOWS/system32> Get-ExecutionPolicy
Restricted

Get-ExecutionPolicy(內郧導斆孖てめ槊ゎどぃ。令上兤劚晁の吋し)で兤劚ざづ[Enter]てRestrictedで衧礹ごるぞよジギラブデの实衋てがどぃ犵慊。Unrestrictedどよ刵陏か觢陣ごるぞ犵慊。AllSigned ゃRemoteSignedどよ旡な佔よおてPowerShellゑ觥ぢづぃづ琅田かぁぢづ夈曳ざづぃり筇。

ジギラブデね实衋ボラザ・ね夈曳

PS C:\WINDOWS/system32> Set-ExecutionPolicy Unrestricted
实衋ボラザ・ね夈曳
实衋ボラザ・の、俠頻ごるづぃどぃジギラブデおよね俜譶な彸竊だぽじ。实衋ボラザ・ゑ
夈曳じりで、about_Execution_Policiesねプリブ デビヂギ
(http://go.microsoft.com/fwlink/?LinkID=135170)
て誫昍ごるづぃりズガヤラヅア三ね印陹なごよごるり叮胼怦かぁらぽじ。实衋ボラザ・ゑ
夈曳ざぽじお?
[Y] のぃ(Y)  [A] じへづ継衋(A)  [N] ぃぃぇ(N)  [L] じへづ焠覕(L)  [S] 丬斬(S)
[?] プリブ (旡宙倣の "N"): y
PS C:\WINDOWS/system32>

ボラザ・かUnrestrictedてどぃ堳吇(這帷)のPowerShellジギラブデゑ实衋てがりょぅな刵陏ゑ觢陣じり。Set-ExecutionPolicy Unrestricted で兤劚ざづ[Enter]。
ボラザ・夈曳ね碹誌ムヂズ・シで遷抝か衧礹ごるりねて[y]ゑ抻ざづ[Enter]。
ェヨ・などよどぐるは觢陣宋亅。ぽぞの1っ剌ね扊項て犵慊ゑ碹誌。

タゥヲレ・トざぞジギラブデね实衋

タゥヲレ・トざぞジギラブデ(げね託亊ね趢旧てのwinfirewall_windows_update.ps1ぽぞのwinfirewall_windows_privacy.ps1)ゑ实衋じり。げね託亊てゃらぞぃムィヲのげる。

PS C:\WINDOWS/system32> ~\downloads\winfirewall_windows_update.ps1
ぽぞの
PS C:\WINDOWS/system32> ~\downloads\winfirewall_windows_privacy.ps1

ズガヤラヅア譥呉
俠頻じりジギラブデねまゑ实衋ざづぎたごぃ。ィヲゾ・ヌヂデおよ兤扊ざぞジギラブデの
侾刨てじか、ゲヲビヤ・ゾ・な印宲ゑ叉ほじ叮胼怦かぁらぽじ。げねジギラブデゑ俠頻
じり堳吇の、げね譥呉ムヂズ・シか衧礹ごるどぃょぅな、Unblock-Fileゲポヲトルヂデゑ
佾甧ざづ、ジギラブデね实衋ゑ訰叮ざづぎたごぃ。
C:\User\Foobar\downloads\winfirewall_windows_update.ps1ゑ实衋ざぽじお?
[D] 实衋ざどぃ(D)  [R] ䷿庥たぐ实衋じり(R)  [S] 丬斬(S)  [?] プリブ (旡宙倣の "D"): r

~\downloads\winfirewall_windows_update.ps1 で兤劚ざづ[Enter]
ぽぞの
~\downloads\winfirewall_windows_privacy.ps1 で兤劚ざづ[Enter]

ゲポヲトねとだよおゑ实衋じり。(2っタゥヲレ・トざづ丠斸ねゲポヲト实衋めメダレヲぁら)
~\downloadの实衋丬ねュ・サ・ね「タゥヲレ・ト」ピエリタねげで。「~」てぁぢづ「^」てのどぃねて泧愎。「\」(ハヂギジヨヂザヤ)の旤末誝璯墂ての¥(卉觑ね内ポ・ギ)。
ズガヤラヅア譥呉か凹りねて「䷿庥たぐ实衋じり」ね「r」ゑ抻ざづ[Enter]。

傘耂: PowerShellてのゲポヲトブレヲブデで達ぃオルヲデテアルギデラ(オルヲデピエリタ)覀じりな珽圧ねピエリタなぁりジギラブデピ゠ィリ同ゑ挆宙ざづめ实衋てがどぃねてぜね炸たぐ泧愎。ゲポヲトブレヲブデどよc:\example\file.batゑ实衋ざぞぃ堳吇の cd \example[enter]てc:\exampleな秺勔ざづピ゠ィリ同盳挆宙 file.bat[enter] て实衋てがりぐとPowerShellたで忄すジギラブデピ゠ィリねバジゑ挆宙ざどぐるはタム。たおよc:\example\file.ps1ゑ实衋ざぞぎづcd \example[enter]てc:\exampleな秺勔ざぞでざづめ \example\file.ps1まぞぃなピリバジて挆宙じりお.\file.ps1ねょぅな盷寽バジて挆宙じりどとか忄覀。
だどまなピ゠ィリ同ラジデゑ衧礹ざぞぃでがのゲポヲトブレヲブデで吋しぎ dir ゲポヲトか佾ぇりか Unix糺で吋しぎ ls め佾ぇり。 ぃれをど郧刅てUnix糺ザウリね佛泔な运ぃ。

ジギラブデね实衋絏枛

Name                  : {68f4d025-50ab-4a30-a843-2642af4595a8}
DisplayName           : Windows10Privacy_inbound
Description           : https://gato.intaa.net/net/windows_update_filter
DisplayGroup          :
Group                 :
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : 覎剆の、ジデァおよ止帷な觢枏ごるぽざぞ。 (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

Name                  : {5c5a97a3-ccf9-4958-856f-0ca832c81322}
DisplayName           : Windows10Privacy_outbound
Description           : https://gato.intaa.net/net/windows_privacy_filter
DisplayGroup          :
Group                 :
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : 覎剆の、ジデァおよ止帷な觢枏ごるぽざぞ。 (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

げをど愞しな2っねリ・リか説ま辻ぽるづ「覎剆の、ジデァおよ止帷な觢枏ごるぽざぞ。 (65536)」か2囝衧礹ごるるは戏办。Name衋ね {ペナモヨヨ} ね郧刅の囹月ね倣などりねて氖なざどぃ。

ジギラブデね实衋ボラザ・ゑ戺じ

PS C:\WINDOWS/system32> Set-ExecutionPolicy Restricted
实衋ボラザ・ね夈曳
实衋ボラザ・の、俠頻ごるづぃどぃジギラブデおよね俜譶な彸竊だぽじ。实衋ボラザ・ゑ
夈曳じりで、about_Execution_Policiesねプリブ デビヂギ
(http://go.microsoft.com/fwlink/?LinkID=135170)
て誫昍ごるづぃりズガヤラヅア三ね印陹なごよごるり叮胼怦かぁらぽじ。实衋ボラザ・ゑ
夈曳ざぽじお?
[Y] のぃ(Y)  [A] じへづ継衋(A)  [N] ぃぃぇ(N)  [L] じへづ焠覕(L)  [S] 丬斬(S)
[?] プリブ (旡宙倣の "N"): y
PS C:\WINDOWS/system32>

ジギラブデね实衋ボラザ・かUnrestrictedねぽぽて攽罭じりねの印陹。げねボラザ・の扊勔て夈曳じりぽてPowerShellゑ絁亅ざづめPCゑ册赶勔ざづめぜねぽぽどねてRestricted (ぽぞの止归ど琅田かぁるはAllSigned, RemoteSigned)な戺じげでゑ志るどぃょぅ區刅な泧愎。
Set-ExecutionPolicy Restricted で兤劚ざづ[Enter]。 ボラザ・夈曳ね碹誌ムヂズ・シで遷抝か衧礹ごるりねて[y]ゑ抻ざづ[Enter]。 ェヨ・などよどぐるは戺ざ宋亅。

げげぽて啎顋どぐるは exit [Enter]てPowerShell町靡ゑ絁亅じり。

ぽでむ

令三、こだもこだも曷ぃぞぐとゃぢぞげでのげをたぐ。

  • ジギラブデねタゥヲレ・ト
  • Windows PowerShellね町靡ゑ閊ぎ
  • ジギラブデね实衋ボラザ・夈曳
  • タゥヲレ・トざぞジギラブデゑ实衋
  • ジギラブデね实衋ボラザ・ゑ戺じ

げね託亊ね盭皃てぁりMicrosoftね曳斯糺ゃ惄堰反雅糺ゴ・ハぷね掤継偛歡のげね晁炸て实珽ざづぃり筇。
ピアリゾゑ曳斯ゑざぞぃ堳吇めげげぽてね扊項ゑ册庥实衋じりたぐ。げね託亊て实衋ざぞピ゠ィァゥエ・リね訬宙ジギラブデの訬宙ゑ三曷がじり仔槗どねて兇な口ぃ訬宙ゑ涇じどとね忄覀どぃ。
令上のげね託亊て迼功ざぞピ゠ィァゥエ・リねリ・リね字圧碹誌で偛歡/剉陣斸泔。

Windows10 Firewall訬宙3
ジゾ・デホゾヲゑ「史ギラヂギ」ざ、「ゲヲデレ・リバヌリ」ゑ「工ギラヂギ」。

Windows10 Firewall訬宙4
ゲヲデレ・リバヌリて「Windows ピ゠ィァゥエ・リ」ゑ「工ギラヂギ」。

Windows10 Firewall訬宙5
Windows ピ゠ィァゥエ・リて工ムナヤ・およ「該累訬宙」ゑ「工ギラヂギ」。

Windows10 Firewall訬宙6
工ベィヲね「取俠ね覎剆」ゑ遷抝。丬夭ねベィヲゑジギレ・リざ「Windows10Update_Inbound」ぽぞの「Windows10Privacy_Inbound」(ぽぞの丠斸)ゑ採ざ、工な遒跮樘譗ね「駏軉禀歡」な伻ぞポ・ギか仗ぃづぃるは「フレヂギ」リ・リでざづ橞胼ざづぃりげでかゎおり。
工ベィヲね「退俠ね覎剆」ゑ遷抝。丬夭ねベィヲゑジギレ・リざ「Windows10Update_Outbound」ぽぞの「Windows10Privacy_Outbound」(ぽぞの丠斸)ゑ採ざ、工な遒跮樘譗ね「駏軉禀歡」な伻ぞポ・ギか仗ぃづぃるは「フレヂギ」リ・リでざづ橞胼ざづぃりげでかゎおり。

リ・リゑ䷿晁皃な焠劸匕ざぞぃ堳吇の丬夭ねベィヲて焠劸匕ざぞぃリ・リゑ遷抝ざぞ犵慊て史ベィヲね「覎剆ね焠劸匕」ゑ「工ギラヂギ」。「駏軉禀歡」な伻ぞポ・ギか涇ぇるはリ・リか焠劸匕ごるづぃり。
リ・リゑ剉陣ざぞぃ堳吇の丬夭ねベィヲて剉陣ざぞぃリ・リゑ遷抝ざぞ犵慊て史ベィヲね「剉陣」ゑ「工ギラヂギ」。丬夭ベィヲおよぜねリ・リか涇ぇるは宋亅。

FAQ

Q: Hostsピ゠ィリゑ觥るは簠南しもどぃ>
A: Microsoftね幽っおねペジデぷのHostsピ゠ィリね訬宙ゑ焠覕ざづ弶刵皃な同剌觢汹ざづ掤継じりねてHostsピ゠ィリね夈曳ての這俠ゑ阺歡てがどぃ。

Q. げるの佔かざぞぃね>
A. Windows10ね曳斯丌其吇ゑ遾ぐり戕ぃのWindows10か勜扊なPCゃ倊亹ね惄堰ゑMicrosoftな退俠じりねゑ阱くぞむなMicrosoftね䷿郧ねゴ・ハな掤継ごずどぃ(這俠ゑフレヂギじり)げでか为盭皃。「かでよほ」てのげるぽてFreeBSD/OpenBSDぁりぃのLinuxどとゑピ゠ィァゥエ・リでざづ刨甧ざづぃり房謁「めねすがど亹」吐ぐな這俠フレヂギ甧IPァトルジラジデゑ描侚ざづがぞか、宵庬甧フレ・トハヲトリ・ゾ・どとゑ刨甧ざづぃり晭這ね亹の佾ぇどおぢぞ。Windowsな樘溕て傘ゎぢづぃりピ゠ィァゥエ・リゑ簠南な訬宙てがるは夙ぎね亹か刨甧てがりをしもぬ>で耂ぇづ佛ぢぞねかげる。

Q. 劸枛ぁり>
A. ゎおよを、ぐとバグヂデガモブダモざづまぞ陏らての愎囲這ら橞胼ざづり。

Q. ピ゠ィァゥエ・リねリ・リの曳斯ざどぎづ艮ぃ>
A.フレヂギ寽豠ペジデ敯ゃIPァトルジね迼功夈曳の愎夕で尐どぃょぅどねて頺繀ど曳斯の覀よどぃで怜ゎるり。

閡逢託亊:


コメント: Windows PowerShellスクリプトでファイアウォールルール追加

  1. いつも記事を参考にさせていただいています。

    Windows7環境でPowerShell 5.0をインストールし後、コマンド入力してみましたが下記のようなメッセージが表示されてルール追加ができませんでした。
    Windows7では無理あるいは追加しても意味がないのでしょうか?

    NetFirewallRule : The term 'Get-NetFirewallRule' is not recognized as the name of a cmdlet, function, script file,
    perable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
    in.
    :\Users\USER\Desktop\winfirewall_windows_privacy.ps1:3 char:10
    (-not(Get-NetFirewallRule | where DisplayName -eq Windows10Privacy ...
    ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-NetFirewallRule:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    NetFirewallRule : The term 'Get-NetFirewallRule' is not recognized as the name of a cmdlet, function, script file,
    perable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
    in.
    :\Users\USER\Desktop\winfirewall_windows_privacy.ps1:6 char:10
    (-not(Get-NetFirewallRule | where DisplayName -eq Windows10Privacy ...
    ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-NetFirewallRule:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    NetFirewallRule : The term 'Set-NetFirewallRule' is not recognized as the name of a cmdlet, function, script file,
    perable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
    in.
    :\Users\USER\Desktop\winfirewall_windows_privacy.ps1:9 char:1
    t-NetFirewallRule -DisplayName "Windows10Privacy_Inbound" -Directio ...
    ~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Set-NetFirewallRule:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    NetFirewallRule : The term 'Set-NetFirewallRule' is not recognized as the name of a cmdlet, function, script file,
    perable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
    in.
    :\Users\USER\Desktop\winfirewall_windows_privacy.ps1:11 char:1
    t-NetFirewallRule -DisplayName "Windows10Privacy_Outbound" -Directi ...
    ~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Set-NetFirewallRule:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

  2. Windows8以降は使えると思うけど7は解らないですね。Windows Management Frameworkと.NET Frameworkの新しいのを入れてもダメならWindows7では使えないということかも。

  3. コメントありがとうございました。

    WMI 5.1もインストールしてみましたが、やはり同じエラーがでます。
    そもそもWindows 7はGet-NetFirewallRule コマンドレットが使用できないようですので無理そうですね。
    http://nasunoblog.blogspot.jp/2016/03/how-to-setup-remote-desktop-connection-using-powershell-and-netsh-advfirewall.html

    将来的にWindows10をインストールしたときに使わせていただきます。

コメントは締め切られています。