PowerShell備忘録その1

お久しぶりです、こんにちわ。

なんでもかんでも「めんどくさい」人なので、
ゲーム用にPCをある一定の時間で自動シャットダウン。とか色々考えちゃうわけですよ。
まぁその辺はすでにタスクスケジューラに登録されてあるわけですが。

だが、タスクスケジューラを開いて有効化するとか無効化するとかもめんどくさいのですよ。
たった2~3のアクションなのに。

これをON/OFFするバッチが組めないか悩んでたところ、PowerShellで出来るじゃーありませんか。
ということで、
AutoShutdownOFF.ps1 と AutoShutdownON.ps1
のPowerShell実行用ファイル作成完了。

参照↓PowerShellを使用してWindowsのスケジュールされたタスクを管理する
https://ja.railstoolkit.com/use-powershell-manage-scheduled-tasks-windows

が、実行してもエラー。
どうやらPowerShellはセキュリティ要件高いのね。
まぁそうだわな。下手にズルズルで実行できるのは怖いというしかあるまい。

署名なし/ローカルのps1ファイルを実行できるようにするには
powershellを管理者モードで起動し、「Set-ExecutionPolicy RemoteSigned」コマンド実行で。

参照↓PowerShell のスクリプトが実行できない場合の対処方法
https://qiita.com/Targityen/items/3d2e0b5b0b7b04963750

あと、ps1ファイルを実行時にも管理者モードが必要なので、ps1ファイルに1行追加。
これ、ちょー便利!

参照↓【PowerShell】PowerShellを管理者権限で実行したい!ソースの先頭に埋め込むだけで自動で管理者権限に昇格するスクリプト!
https://correct-log.com/powershell_auto_admin/#:~:text=PowerShell%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%EF%BC%88.ps1%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB,%E8%80%85%E6%A8%A9%E9%99%90%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

このほかにも、PC毎に簡易証明書を作成するパターンもある模様。
複数PCがある場合は、簡易版すぎて各PC毎にやらなきゃならないのがちょっと辛いけど。。。

参照↓【PowerShell】スクリプトに署名する方法について
https://soma-engineering.com/coding/powershell/script-signing/2018/08/05/

コメント