BETA

PowerShellでネットワークポリシーサーバーにRADIUSクライアントをまとめて追加する

投稿日:2019-09-14
最終更新:2019-09-22
※この記事は外部サイト(https://labor.ewigleere.net/2019/09/14/pow...)からのクロス投稿です

ネットワークポリシーサーバー(NPS)を使って、Active DirectoryのドメインユーザでRADIUS認証を行う環境を構築するお話。なお環境はWindows Server 2019とします。

無線APが1つや2つならばネットワークポリシーサーバーのコンソールGUIでマウスとキーボードでポチポチして追加しても良いですが、そこそこ数があると大変です。

そこで、PowerShellに良いコマンドがないかと探してみると

ありました。

csvを食わせるImport-Csvと組み合わせて、

Import-Csv RadiusClient.csv | %{New-NpsRadiusClient -Address $_.IPAddress -Name $_.FriendlyName -SharedSecret $_.Secret}  

こんな感じ。csvファイルは上述だとRadiusClient.csvとしています。この中身は

IPAddress,FriendlyName,Secret  
XXX.XXX.XXX.XXX.アクセスポイント1,SECRETLETTERS  
XXX.XXX.XXX.YYY.アクセスポイント2,SECRETLETTERS  

このような感じ。

この2つを同じフォルダ内に置いてあげて、上述のps1(PowerShellスクリプト)ファイルをネットワークポリシーサーバーがあるサーバー上で管理者実行してあげると、良い感じにcsvのデータで登録してくれます。

RADIUSクライアント削除

さて、上述のやり方でRADIUSクライアントを一斉に追加できてめでたしめでたし……かと思ったらそうは問屋が卸してくれませんでした。

「APのIP、第三オクテットが変更になったからー」

こんな仕様変更が飛んできたとしましょう。さあ大変です。

しかも、Windows Server 2019のネットワークポリシーサーバーのRADIUSクライアントのところを操作しようとしたら……CtrlやShiftによる複数選択が効かないではありませんか!

まさかまさかの1つ1つマウスクリックでポチポチ消していくのでしょうか?……そんなことはしたくありません。

登録するコマンドがあるならば、削除するコマンドだってあるはず。

ありました。

ということで、先ほどのcsvを使って

Import-Csv RadiusClient.csv | %{Remove-NpsRadiusClient -Name $_.FriendlyName}  

このようなPowerShellスクリプトファイルを用意して、登録の際と同じように管理者実行。

……無事、全て削除されました。

両方とも日本語の情報があまり見当たらなかったのでメモしておきます。

余談

複数のcsvファイルを利用する際は、以下のようにすると良いのではないでしょうか?

get-childItem "RadiusClient-*.csv" | foreach {  
    Import-Csv -Path $_ | %{New-NpsRadiusClient -Address $_.IPAddress -Name $_.FriendlyName -SharedSecret $_.Secret}  
}  

foreachは他のケースでの使用だったので上述のPowerShellは試してないですが、同じロジックで動くはず……。

ちなみにcsvファイルはRadiusClient-01.csv, RadiusClient-02.csvのような感じでRadiusClient-という名前のファイルを全て見るイメージです。

参考

Powershell, CSV

ネットワークポリシーサーバー (NPS)

RADIUSクライアント追加
RADIUSクライアント削除

余談: Active DirecTory

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

アルム=バンドのQrunch

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!