LoginSignup
2
1

Power Automate(以降、PA)のフローを作った際に調べてわかったことを記録の形にして投稿します。
指摘やアドバイスは大歓迎です。よろしくお願いいたします。

はじめに

リモートワークで仕事をする際、社内VPNに接続して打刻をする必要がある。毎回、同じことをすることがめんどくさいこともあり、PAのフローを作るきっかけになった。PAを使えば、一回のクリックで済むはず!
打刻はブラウザ操作機能でできるが、VPNに接続するのはどうしたらいいかわからなかった。

GUI操作で接続

最初は、タスクバーにあるWifiマークをクリックし、クイックメニューからVPNを選択して接続する流れにしようとして、PAでフローを作ってみたところ、クイックメニューがグループで認識していたため、中にある項目をクリックするのが難しかった。

GUI操作でしたら簡単に作れると思ったため、以下の操作フローで作った

Windowsの設定 → 「ネットワークとインターネット」 → VPN → VPN名の横にある「接続」ボタンを押下

まず、PowerShellスクリプトに「control system」を設定する。(先に接続設定をしておく必要がある)こうすることでWindowsの設定画面が開くことができる(ちなみに、「control」にすると、コントロールパネル画面が表れる)

image.png

これでも実装はできたが、一発でVPNにつなぐことができる方法がないか調べてみた。

PowerShellで対応

1.PowerShellスクリプト作成

Windowsのrasphoneを用いたら、VPNに簡単に接続することもできることが分かった。
早速、PA側に「PowerShellスクリプトの実行」を作成
image.png

スクリプトの内容は以下の通り。
VPN名を自分の環境に合わせて置き換えするだけでOK!
これで既に接続されている場合、スキップすることができる
(逆にVPN接続を切りたい場合は以下の「Disconnected」を「Connected」に変更するだけで対応可能)

$vpnName = "VPN名";
    $vpn = Get-VpnConnection -Name $vpnName;
    # 接続していない場合
    if($vpn.ConnectionStatus -eq "Disconnected"){
        rasphone -d $vpnName;
}

2. 接続ダイアログボックスの非表示

既にVPN設定が完了していてもPowerShellで実行すると、以下のダイアログが表示され、「接続」ボタンを押す手間がかかる。

1.jpg

ここで、以下のファインをメモ帳などで開く

C:\Users\【ユーザー名】\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk

image.png

VPN名の下にいろんな設定がある。その中で「PreviewUserPw」で検索すると、以下のようにデフォルト値が「1」になっている

[VPN]
Encoding=1
PBVersion=8
Type=2



PreviewUserPw=1

PreviewUserPw=1」から「PreviewUserPw=0」に変更する。
こうすることでダイアログボックスを表示されず、接続ができる!

最後に

PAを使ってもWindows関連機能を使う際はできるだけPowerShellやcmdを活用した方が手間を減るんだなと思いました。(何故かPAを利用する時にはGUI操作をしないと、という理由のないプレッシャーを感じますね、、)

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1