トップ回答者
無線LAN設定を別PCにも展開したいが、パスワードは伏せたい

質問
-
お世話になります。
Win7 32bitのPCでクライアント展開のための検証作業をしております。
約50台のPCに無線LANの設定をしたいと考えております。
1)設定済PCから netsh wlan export profile name=<SSID> key=clear でxmlをエクスポート
2)netsh wlan add profile filename=<SSID> user=all で別PCへインポート
といったことを各ユーザーにやってもらおうかと考えております。
しかし、xmlファイルをユーザーに配布しようとした場合、xmlにはパスワードが記載されております。
セキュリティ上の観点から望ましくないので、何かパスワードを伏せるような方法はございませんでしょうか。
今のところはxmlとバッチの配布を考えておりますが、パスワードの部分が解決できないと別の方法を考えなければなりません。
方法についてご存知の方、ご教示の程宜しくお願いします。2018年2月26日 7:18
回答
-
思いつきで書いてしまいますが、以下のようなバッチファイルを作成しフリーソフトでコンパイルしてバイナリにしてしまえばよろしいのではないでしょうか。
業務利用ではエラーハンドリングやログ出力が必要ですが、今回は省いています。
■サンプルコード
------------------------------------------------------
set XML_PATH=\c: \\Users\Public <-- 出力先
set FILE_NAME=<SSID>.xml <--出力ファイル名
cd %XML_PATH%
copy null %FILE_NAME%
rem <ーーここからはxmlファイルを生成するためにechoするーー>
echo ^<?xml version="1.0"?^> >> %FILE_NAME%
echo ^<WLANProfile xmlns="http://.............."....^> >> %FILE_NAME%
~省略~
echo </WLANProfile> >> %FILE_NAME%
if exist %FILE_NAME% (
netsh wlan add profile filename=<SSID>.xml user=all
if %ERRORLEVEL% == 0 (
del /Q %FILE_NAME%
)
)
------------------------------------------------------
この処理では、バッチ内でxmlファイルを作成してインポートし、その後削除する処理を書いています。
コマンドプロンプトやPowerShellから直接ファイルを削除するとゴミ箱には残りません。
また、「Batch To Exe Converter」のようにバッチファイルをexeにするソフトがあるので、コンパイルすればバッチの処理内容も隠すことが出来ます。
まとめると
1、XMLファイルを渡さずにバッチで作成して最後に完全削除する
2、バッチをexeファイルにしてユーザが読み取れない形式に変更
で完全に情報は遮断できます。
しかし、Windows Defenderやサードパーティのアンチウィルスソフトに検疫されてしまう可能性があるため、確認が必要です。
今回は、xmlを配布する前提でしたので、バッチで作成して自動でインポートという処理と、情報保護のためにexe化について書かせてもらいました。
<>など特殊文字は全て^でエスケープする必要があります。(面倒ですが私はセキュリティを担保するための工数としています)
以上、ご参考まで- 編集済み Nikaido Subaru 2018年2月26日 8:23
- 回答としてマーク 栗下 望Microsoft employee 2018年3月8日 6:21
2018年2月26日 8:21 -
Window 自動化技術大全の林です。
>> 1)設定済PCから netsh wlan export profile name=<SSID> key=clear でxmlをエクスポート
上記コマンドから「key=clear」オプションを外すだけです。
それだけでパスワードは暗号化されて xml にエクスポートされます。
2)のコマンドはそのままで大丈夫です。- 編集済み 林 鼓平 (Kohei Hayashi) 2018年2月27日 3:38
- 回答としてマーク 栗下 望Microsoft employee 2018年3月8日 6:21
2018年2月27日 3:35 -
念のために確認ですが、ユーザーはローカル PC に対する管理者権限を持っていない前提ですね。
管理者権限があればそこでパスワードを秘匿しても「ワイヤレスのプロパティ」から表示できますので。
hebikuzure
- 回答としてマーク 栗下 望Microsoft employee 2018年3月8日 6:21
2018年2月27日 5:01
すべての返信
-
思いつきで書いてしまいますが、以下のようなバッチファイルを作成しフリーソフトでコンパイルしてバイナリにしてしまえばよろしいのではないでしょうか。
業務利用ではエラーハンドリングやログ出力が必要ですが、今回は省いています。
■サンプルコード
------------------------------------------------------
set XML_PATH=\c: \\Users\Public <-- 出力先
set FILE_NAME=<SSID>.xml <--出力ファイル名
cd %XML_PATH%
copy null %FILE_NAME%
rem <ーーここからはxmlファイルを生成するためにechoするーー>
echo ^<?xml version="1.0"?^> >> %FILE_NAME%
echo ^<WLANProfile xmlns="http://.............."....^> >> %FILE_NAME%
~省略~
echo </WLANProfile> >> %FILE_NAME%
if exist %FILE_NAME% (
netsh wlan add profile filename=<SSID>.xml user=all
if %ERRORLEVEL% == 0 (
del /Q %FILE_NAME%
)
)
------------------------------------------------------
この処理では、バッチ内でxmlファイルを作成してインポートし、その後削除する処理を書いています。
コマンドプロンプトやPowerShellから直接ファイルを削除するとゴミ箱には残りません。
また、「Batch To Exe Converter」のようにバッチファイルをexeにするソフトがあるので、コンパイルすればバッチの処理内容も隠すことが出来ます。
まとめると
1、XMLファイルを渡さずにバッチで作成して最後に完全削除する
2、バッチをexeファイルにしてユーザが読み取れない形式に変更
で完全に情報は遮断できます。
しかし、Windows Defenderやサードパーティのアンチウィルスソフトに検疫されてしまう可能性があるため、確認が必要です。
今回は、xmlを配布する前提でしたので、バッチで作成して自動でインポートという処理と、情報保護のためにexe化について書かせてもらいました。
<>など特殊文字は全て^でエスケープする必要があります。(面倒ですが私はセキュリティを担保するための工数としています)
以上、ご参考まで- 編集済み Nikaido Subaru 2018年2月26日 8:23
- 回答としてマーク 栗下 望Microsoft employee 2018年3月8日 6:21
2018年2月26日 8:21 -
Window 自動化技術大全の林です。
>> 1)設定済PCから netsh wlan export profile name=<SSID> key=clear でxmlをエクスポート
上記コマンドから「key=clear」オプションを外すだけです。
それだけでパスワードは暗号化されて xml にエクスポートされます。
2)のコマンドはそのままで大丈夫です。- 編集済み 林 鼓平 (Kohei Hayashi) 2018年2月27日 3:38
- 回答としてマーク 栗下 望Microsoft employee 2018年3月8日 6:21
2018年2月27日 3:35 -
念のために確認ですが、ユーザーはローカル PC に対する管理者権限を持っていない前提ですね。
管理者権限があればそこでパスワードを秘匿しても「ワイヤレスのプロパティ」から表示できますので。
hebikuzure
- 回答としてマーク 栗下 望Microsoft employee 2018年3月8日 6:21
2018年2月27日 5:01 -
Nikaido Subaruさん
幾つか参考にしつつ割とシンプルな方法で解決しました。
1)エクスポート時 netsh wlan export profile name=TEST.xml
2)インポート時 netsh wlan add profile filename=TEST
netsh wlan set profileparameter name=TEST keyMaterial=[セキュリティキー]
3)2)をbat化してツールを使用してexeに変換
他にもアドバイスくれた方々ありがとうございました。
後はvbsでも同じこと出来ないか勉強がてらやってみようと思います。2018年2月28日 14:04