コロナウイルスの影響でリモートでパソコンを使用する機会が増えています。Office365を導入している会社では Microsoft Teams を使用している方も多いでしょう。社外で集中して仕事をするときには起動したくない時があります。ぶっちゃけ仕事外の私用で起動する時もありますし。
同じようにOneDriveも社外では必ずしも必要としないこともあります。
会社でPCをドメイン管理していることが前提となりますが、社外でPCを起動したときはTeams, OneDrvie を自動起動しない方法を紹介します。 想定している環境は以下の通りです。 PCはドメイン管理されている。 ログイン時にドメイン認証が完了した場合(社内LANに接続時)のみ Microsoft Teams, OneDrive for Business を自動起動する。 ドメインにログインができたらTeams, OneDrive for Business を起動するスクリプトです。言語はPowerShellです。
Start-Process の行でプログラムを起動しているので、他に起動したいプログラムがあれば追加可能です。 ファイル名: startup.ps1 このスクリプトはログイン時にドメイン認証をしたかを判定します。そのため、社内でPCを起動したとしてもネットワークに接続していない状態で起動した場合は、ドメイン認証していないためTeams, OneDrive は起動しません。 PowerShell はスクリプト実行時にウインドウが開いてしまいます。その回避策として、もう1つスクリプトを書きます。↓に従って、launch_ps.js を準備してください。
pmp-style.hatenablog.com マイドキュメント内にbinというフォルダを作成し、startup.ps1とlaunch_ps.js を入れてください。 (1). タスクバーのアイコンが無い場所で右クリックしてメニューを出し、「タスクマネージャー」をクリック (2). この画面が表示されたら、↓矢印のボタンをクリック
(3). 「スタートアップ」をクリック
(4). Microsoft Teams の行で右クリックして「無効化(D)」をクリック
OneDrive も同様にして無効化する。
(5). ここでWindowsを再起動して Teams, OneDrive が自動起動しない事を確認してください。 ログイン時に社内LAN接続時のみTeams, OneDrive を起動するように、タスクスケジューラに登録をします。 (1). スタートボタンで右クリックして「コンピュータの管理」を選択
(2). 「タスクスケジューラ」をクリックした後に、「基本タスクの作成」をクリック。
(3). 「名前」欄にタスクの名称を記載し「次へ」をクリック。
(4). 「ログオン時」をクリックし、「次へ」をクリック。
(5). 「プログラムの開始」にチェックが入っている事を確認して、「次へ」をクリック
(6). エクスプローラで、マイドキュメント内のbinの中を開き、アドレスバーの空白区部分をクリックする。
(7). アドレスバーの青字の部分で右クリックしてコピーをクリックする。
(8).下表に従い3箇所に記入する。 その後「次へ」をクリック (9). チェックを入れて、「完了」をクリック
(10).「条件」をクリック
(11). チェックを外して「OK」をクリック
これで設定は完了です
タスクスケジューラ内から設定したタスクを実行してみます。
社内LAN接続時にTeams, OneDrive が起動し、未接続時は起動しないことを確認してください。 (1). タスクスケジューラの下の「タスクスケジューラライブラリ」をクリック
(2). 登録したタスク上で右クリックして「実行」をクリック
Teamsに接続しないからといって、会社のPCを私用で使うのは危険ですからね。あくまでも集中して仕事をしたい人向けの設定です。
セキュリティを重視している企業では監視ソフトが導入されており、どんなファイルを触ったとか、WEBでどのサイトを見たとか筒抜けです。
想定環境
OS は Windows10 を使用している。
Microsoft Teams, OneDrive for Businessを使用している。仕様
Teams, OneDrive の起動スクリプトの準備
スクリプト
$ret = whoami /fqdn
if($ret -like "CN=*") {
Start-Process -FilePath "$env:LOCALAPPDATA\Microsoft\Teams\Update.exe" -ArgumentList "--processStart Teams.exe --process-start-args --system-initiated"
Start-Process -FilePath "$env:LOCALAPPDATA\Microsoft\OneDrive\OneDrive.exe" -ArgumentList "/background"
}
注意点
スクリプト実行時のウインドウを非表示
ファイルを配置
TeamsとOneDrive の自動起動をオフにする。
タスクスケジューラに登録
項目
設定値
備考
プログラム/スクリプト
WScript
引数の追加
launch_ps.js test.ps
開始
C:\Users\username\Documents\bin
(7)でコピーしてあるので右クリックして貼り付け
テスト
最後に