Windows に関するメモ
目次
独立したページ
Windowsがスリープしない、勝手に復帰する問題を powercfg でチェック・解決する
管理者権限で作業する。
大体Windows Update関連のプロセスが走ってるかWOLがクッソ敏感になってるか…
なぜスリープが解除されたか調べる
powercfg /lastwake
スリープ阻止しているプロセス・デバイスを特定
powercfg /requests
スリープ阻止しているディバイスからの要求を無視する
powercfg /devicedisablewake "{デバイス名}"
MSYS2やCygwin等をワンライナーで起動する
Windows Terminal 等でこれを設定するとcmdを経由せずにMSYS2やMingw64を起動できる
普通に起動するとminttyやcmd.exeが立ち上がったりするのでその分スマート
D:\msys64\usr\bin\env.exe MSYSTEM=MSYS /usr/bin/bash -l
MSYS2のpacmanパッケージを更新すると/path/to/file exists in filesystemが出る
しばらく更新をさぼっていると発生しやすい。
pacman -Syu --overwrite=*
で上書きする。–forceは効かない。
リモートからコンピュータの管理(mmc)をできるようにする
ディスクの管理を利用可能にする設定も込み
まだ途中 これ以外にもいろいろある
Enable-NetFirewallRule -DisplayGroup "Windows Defender ファイアウォール リモート管理" Enable-NetFirewallRule -DisplayGroup "Windows リモート管理" Enable-NetFirewallRule -DisplayGroup "パフォーマンス ログと警告" Enable-NetFirewallRule -DisplayGroup "ファイルとプリンターの共有" Enable-NetFirewallRule -DisplayGroup "リモート ボリューム管理" net start vds cmd /c "sc config vds start= auto"
Azure AD Conntect 用のサービスアカウント作成(失敗)
リモートのSQL Serverを使用した構成で新規インストールする際に必要。
インストーラを実行しているユーザーがSQL Serverに対する管理者権限を持っている場合は下記のコマンド実行するだけでインストーラーがいい感じにやってくれる
$Principal = Get-ADGroup 'Domain Computers' New-ADServiceAccount AADCSVC -Enabled $true -DnsHostName <Azure AD Conntectを入れるサーバー>.ad.example -PrincipalsAllowedToRetrieveManagedPassword $Principal -PassThru
インストール時に“EXAMPLE\AADCSVC$”を指定するといい感じになる。
はずだったがインストール後にSQL Serverに接続できなくなったので結局従来の「Domain Users」権限のアカウントを新規作成してクソ長パスワードを設定したアカウントを指定した。
EPGStationと自作エンコスクリプトを連動させる
EPGStationにはエンコード用にenc.jsとenc.shが付属しており、改造してエンコード時の設定を拡張するやり方がありますが、一切使わなくてもどうにでもなります。
エンコード用のスクリプトは環境変数を使ってEPGStationから値を取得するので、環境変数を扱えるスクリプトなら何でも連動させる事が出来ます。
WindowsにインストールしたEPGStationを使用しているのでWindowsのバッチファイルを載せてます。
使用可能な環境変数は 公式のドキュメント に載っています。
普通にエンコード(音声無劣化)
各バイナリは適当にググって入手してください。 ffmpgeでTSから抽出したAACを使ってMP4を組み立てると音声が再生できないファイルができあがるのでMP4Boxを使ってMP4を組み立てています。
- enc.bat
rem 実際のエンコードを担当するスクリプト @echo off cd /d %~dp0 if "%~1" == "" goto end if "%~2" == "" goto end rem エンコードの開始 bin\ffmpeg.exe -i "%~1" -an -vf bwdif=1 -c:v libx264 -preset medium -crf 23 -s 1280x720 -aspect 16:9 "%~dpn1_tmp.mp4" bin\ffmpeg.exe -i "%~1" -vn -c:a copy "%~dpn1.aac" bin\mp4box.exe -new -add "%~dpn1_tmp.mp4" -add "%~dpn1.aac" "%~2" rem 一時ファイルの削除 del "%~dpn1_tmp.mp4" del "%~dpn1.wav" del "%~dpn1.aac"
install.wimを分割してFAT32のUSBメモリに保存する
今時の Windows 10 は、install.wim の大きさが4GBを超過しており、FAT32でフォーマットしたインストール用USBメモリに保存することができないため、DISMの[/Split-Image]オプションを使用して分割して保存します。
分割されたinstall.wimのファイル名はinstall.swm~installN.swmとなり、Windowsのインストーラーからそのまま認識されるので、FAT32のUSBメモリからインストールを行うことができるようになります。
管理者権限のコマンドプロンプトが必要です。
Dism /Split-Image /ImageFile:F:\Sources\install.wim /SWMFile:C:\Work\install.swm /FileSize:2048
どんどんでかくなってるな…🤔
ActiveDirectoryのセキュアチャネルの破損を修復する
ずっと放置していたPCや仮想マシンを久しぶりに起動させると発生する「このワークステーションとプライマリドメインの信頼関係に失敗しました」と表示され ActiveDirectory にログインできなくなった場合の対処方法です。
従来の修復方法はドメインを離脱させてから再加入するという二度手間になるので、PowerShellのコマンドレットを使用して修復します。
- LANケーブルを抜いてオフライン状態にするかローカルのアカウントを使用して管理者権限があるアカウントでログインします。
- PowerShell を管理者として起動します。
- Test-ComputerSecureChannel を実行してFalseと表示されたらセキュアチャネルの破損が疑われるので修復を行います。
- Test-ComputerSecureChannel -Repair -Credential ドメイン名\ドメイン管理者ユーザー を実行するとパスワード入力になるので指定したアカウントのパスワードを入力します。
- Trueと表示されたらPCを再起動して完了です。