[メモ] 会社pc構築手順
新しくPCを構築することになったので手順をメモしておく。
なお、手順は今使っているPCからの移行手順となっているので、本当に私以外にはあまり有用ではないような気がする。。
なお、OSはWindows 11 Pro(intel core i5)を使っている。順次分かりやすさ優先で追記しているので、実際に実行した順番とは異なる。そのため、この通り試しても動かないかも。
ユーザプロファイルの名称を変更する
会社のPCは職場アカウント(AzureAD; 個人用アカウントであるMicrosoftアカウントとは異なる)でセットアップ済みで、ユーザプロファイルの名前が日本語名になっていた。ユーザプロファイル名がASCIIでない場合、開発者としてはトラブルが発生しそうなので、英語名に変更する。
よく紹介されているローカルアカウントを作成してから切り替える方法は、個人用アカウントの場合しか利用できないようだ。なので、レジストリ変更で対応した。 (ただし、これはこれでトラブル発生しやすいらしいので注意)
-
管理者権限を持つローカルアカウントを作成する。
-
作成したローカルアカウントでログイン
-
レジストリの以下のキーを編集して変更
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<userSID>\ProfileImagePath -
ログアウトし、元のアカウントでログイン
-
1で作成したローカルアカウントを削除
この設定変更が関係あるのか分からないが、設定後に再起動をした後に「ユーザープロファイルを読み込めません。」と表示され、サインインができなくなった。その際は、このサイトを参考に高速スタートアップをBIOSで無効化して一度ログインし、再起動をおこなうことで復旧できた。再起動してサインインできることを確認した後は、高速スタートアップをBIOSで有効化しても問題なくサインインできた。 調べてみると、HP 社製のストアアプリ「myHP」が原因で発生するとの話が出てきたので、念のため「myHP」のアンインストールをしている。
なお、このサイトに記載があるとおり、レジストリに古いユーザプロファイルのパスが残るため、置き換えをした方が良い(と思われる)。置き換えはregeditを使えば良いのだが、いろいろ面倒なので、私はRegistry Finderというツールを使用して対応した。
Windowsの開発者向けオプション変更
-
ファイル拡張子を表示する
-
タイトルバーに完全なパスを表示する
-
スタート画面で別のユーザとして実行するオプションを表示する
Windowsのパス長制限解除
管理者権限のPowerShellで以下を実行
Set-ItemProperty "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" -Name LongPathsEnabled -value 1
右クリックメニューをWin10以前のものに戻す
プライベートのPCであれば許容の範囲だが、仕事用だと新しいコンテクストメニューは使いづらいように見えるので変更する。というかいい加減カスタマイズできるようにしてほしい > Microsoftさん
管理者権限ではないPowerShellで以下を実行
New-Item "Registry::HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}"
New-Item "Registry::HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"
New-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" -Name '(Default)' -Value ""
なんとなくPowershellでエントリを追加したが、思っていたより面倒だった…
素直にreg.exeを使ったほうがよさそう。
その後は、エクスプローラーを再起動する。
電源メニューに休止状態の追加
管理者権限のコマンドプロンプトで以下を実行
powercfg.exe /hibernate on
再起動すると表示されるようになる…はずだが、上手くいかなかったのでこのサイトを参考にGUIで設定した。
スタートメニューのWeb検索機能を無効化する
ASCII.jp:Windows 11、スタートメニュー検索でウェブの検索結果を表示させない方法を参考に設定する。
Scoopのインストール
ScoopとはWindows向けのパッケージマネージャ。
Microsoftのパッケージマネージャであるwingetでインストールできないアプリケーション用に用意。
Invoke-WebRequest -UseBasicParsing get.scoop.sh -Outfile installer.ps1
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
./installer.ps1
アプリケーションのインストール
wingetでインストール/アップデートをする際、ポータブルアプリケーション(インストーラの無いアプリ)の場合は、現時点ではシンボリックリンクの作成が可能な環境(管理者権限 もしくは 開発モード有効)でおこなった方がいい。シンボリックリンクが使える環境なら、%LOCALAPPDATA%\Microsoft\WinGet\Links\に実行ファイルがリンクされる場合が多く、別アプリから参照する際に扱いやすい。
Teams
ブラウザでダウンロードしたインストーラからおこなう、のだがエラーが出てうまくいかない。 以下のコマンドでインストールする。
Add-AppxPackage .\MSTeams-x64.msix
Firefox
-
ブラウザでダウンロードしたインストーラを使ってインストール
-
プロファイル(
%APPDATA%\Mozilla\Firefox\Profiles\hogehoge)は旧PCから移動 -
プロファイル変更のため、
-p付でFirefoxを起動。新しいプロファイルを作成したら、その中身を旧PCからコピーしたプロファイルの中身で差し替える。 -
旧プロファイルに設定していた多段タブ(参考)に対応させるため、以下の操作を実施
-
toolkit.legacyUserProfileCustomizations.stylesheetsをtrueに変更 -
%PROGRAMFILES%/Mozilla Firefoxのconfig.jsを移動 -
%PROGRAMFILES%/Mozilla Firefox/defaults/prefにconfig-prefs.jsを入れる
-
Thunderbird
winget install -ei Mozilla.Thunderbird
-
プロファイル(
%APPDATA%\Thunderbird\Profiles\hogehoge)は旧PCから移動 -
プロファイルの移行手順はFirefoxと同じ。
Link Shell Extension
winget install -ei HermannSchinagl.LinkShellExtension
Sysinternals Suite
winget install -ei --id 9P7KNL5RWT25
ポータブル版であれば個別インストール(winget install -ei --id Microsoft.Sysinternals.ProcessExplorer)もできるようだったが、スタートメニューに追加されないようなので、ストア版をインストールした。
PowerToys
winget install -ei --id Microsoft.PowerToys
設定は以前のPCのものを復元。
WSL
事前に旧PCからメインで使用しているOSイメージをバックアップする。
wsl --export Debian Debian.tar.gz
WSL環境をセットアップ
管理者権限のPowershellを使って以下のコマンドを実行。
wsl --install --no-distribution
これだけだとWSL1は使用できないので、以下のコマンドを実行。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
一度PCを再起動
バックアップしたイメージを新PCに復元する。
mkdir $env:LOCALAPPDATA\wsl\debian
wsl --import Debian $env:LOCALAPPDATA\wsl\debian .\Debian.tar.gz --version 1
インポートした場合、デフォルトユーザが適切に設定されないため、レジストリを変更する。
(wsl.cofを使う方法もありますが、あえてレジストリで設定しています)
Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\* | ? { $_.DistributionName -eq "Debian" } | Set-ItemProperty -Name DefaultUid -Value 1000
セキュリティソフトとしてESETを使っているため、DNS解決ができない問題がある。
したがって、このサイトを参考に、以下の通りファイアウォールルールを追加する。

PeaZip
winget install -ei --id Giorgiotani.Peazip
Edge
-
プロファイル(
%LOCALAPPDATA%\Microsoft\Edge\User Data)を旧PCからコピーする。 -
このサイトを参考にパスワードを移行する。
Edgeで度々表示される「Microsoft Edgeを既定のブラウザーとして設定する」を表示されないようにしたい
以前は「edge://flags」を使って設定できたようだが、現在はできないようだ。
レジストリで設定できる項目にそれらしいものがあったので、これを設定して様子を見ることに。
管理者権限で起動したコマンドプロンプトで以下を実行する。
reg add "HKLM\Software\Policies\Microsoft\Edge" /v "DefaultBrowserSettingsCampaignEnabled" /t REG_DWORD /d "0"
Google Chat
- PWAなので、ブラウザからこのリンクにアクセスして、インストールする。
Google Chrome
winget install -ei --id Google.Chrome
- プロファイル(
%LOCALAPPDATA%\Google\Chrome\User Data)を旧PCからコピーする。
git
winget install -ei --id Git.Git
Git Bash を管理者権限で開き、以下のコマンドを実行
git config --system core.longpaths true
cmder
scoop install main/cmder
Visual Studio Code
winget install -ei --id Microsoft.VisualStudioCode
このサイトを参考に設定ファイルを旧PCから移行する。
-
%HOMEPATH%\.vscode -
%APPDATA%\Code\User -
%AppData%\Code\Workspaces
Google Drive
winget install -ei --id Google.GoogleDrive
Googleアカウントでログインして有効化。
Onedrive
アプリはインストール済みなので、Microsoftアカウントでログイン。
rclone
winget install -ei --id Rclone.Rclone
設定ファイルは rclone config file で表示されるパスのものを旧PCから新PCに移動。
BrokenURL
ブラウザの選択ツール。以下のURLからインストール。
https://brokenevent.com/projects/brokenurl
設定は旧PCの%APPDATA%\BrokenEvent.BrokenUrl以下のファイルを参考にして移行。
KeePass
winget install -ei --id DominikReichl.KeePass
DevToys
winget install -ei --id 9PGCV4V3BK4W
DBeaver
winget install -ei --id "dbeaver.dbeaver"
設定ファイルは、%APPDATA%\DBeaverDataから移動。
A5:SQL Mk-2 (A5M2)
このサイトからダウンロード。ポータブル版としてセットアップ。設定は旧PCから移行。
JDK8
winget install -ei --id BellSoft.LibericaJDK.8.Full
JDK21 (LTS)
winget install -ei --id "Microsoft.OpenJDK.21"
Python
winget install -ei --id "Python.Python.3.12"
Miniforge3
mambaを使ったPython環境マネージャー。 スクリプト的な用途はこっちを使ってる。
winget install -ei --id CondaForge.Miniforge3
旧環境は以下のコマンドでエクスポート
mamba env export -n hoge -f hoge.yaml
そして以下のコマンドでインポート。
mamba env create -f hoge.yaml
RoboSync
robocopyのGUIラッパー。以下のURLからダウンロード。 https://www.vector.co.jp/soft/dl/winnt/util/se519824.html
WinMerge
winget install -ei --id WinMerge.WinMerge
Windows Terminal
-
%LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalStateにある設定ファイルを旧PCのもので置き換え。 -
設定/規定値/開始ディレクトリを「親プロセスディレクトリの使用」に変更
OBS Studio
winget install -ie --id OBSProject.OBSStudio
- 仮想カメラのプレースホルダ画像を変更したい場合は、
C:\Program Files\obs-studio\data\obs-plugins\win-dshow\placeholder.png(PNG形式/1920x1080) を差し替える。
node.js(LTS)
winget install -ei --id OpenJS.NodeJS.LTS
Visual Studio Build Tools 2022
winget install -ei --id Microsoft.VisualStudio.2022.BuildTools
WireShark
winget install -ei --id WiresharkFoundation.Wireshark
smtp4dev
ダミーのメールサーバ
https://github.com/rnwood/smtp4dev からダウンロード。
LibreOffice
winget install -ei --id TheDocumentFoundation.LibreOffice.LTS
Podman Desktop
Dockerの代替。
winget install -ei --id RedHat.Podman-Desktop
Adobe Reader
winget install -ei --id Adobe.Acrobat.Reader.64-bit
EarTrumpet
音量調整。あんまり使ってない。
winget install -ei --id "9NBLGGH516XP"
CubePDF
wingetでインストールされるバージョンが古いため、このページから直接ダウンロードしてインストール。
CubePDF Utility
このページから直接ダウンロードしてインストール。
CubePDF ImagePicker
窓の杜からダウンロード・インストール
PowerShell (最新版)
winget install -ei --id Microsoft.PowerShell --source winget
Hyper-V
管理者権限のPowerShellで以下を実行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
WinSCP
winget install -ei --id WinSCP.WinSCP
VirtualBox
winget install -ei --id Oracle.VirtualBox
ImHex
バイナリエディタ
winget install -ei --id WerWolv.ImHex
FavBinEdit
ここからダウンロード
DiskInfo3
ここからダウンロード
Inkscape
winget install -ei --id Inkscape.Inkscape
GIMP
winget install -ei --id GIMP.GIMP
gsudo
sudo for windowsも出る予定らしいが、まだ降ってこないのと、こちらの方が便利そうなのでインストール。
winget install -ei --id gerardog.gsudo
sqlcmd
winget install -ei --id Microsoft.Sqlcmd
SQL Server ODBC Driver
pyodbcから使用するには、ODBCドライバが必要であるため、以下からインストールする。
(Microsoft ODBC Driver 18 for SQL Server)
Mery
Wingetでインストールできるのだが、ポータブル版を使用したい かつ 無断登録で作者の方が「あまり気持ちの良いものではない」旨を記載しているので、手動でこのページからZIP版をダウンロード・展開をおこなってセットアップをした。
ZIP版をポータブル版に変更するために、このページに記載の内容を実施。
Mery ver.2とver.3(ベータ版)との差異がかなり大きいことに気づく。 使いたい機能がver.3にしかないので、そちらに乗り換える。ベータ版については、特に配布ページが決まっていない?ようなので、開発者の方のブログの「Mery」タグへのリンクを貼る。ここから、ポータブル版のファイルをダウンロード。
pandoc
winget install -ei --id JohnMacFarlane.Pandoc
Notepad++
ポータブル版を使用したいので、手動でこのページからポータブル版をダウンロード・展開をおこなってセットアップをした。
Docker / Docker Compose
このページを参照
duckdb
CSV等のクエリを実行
winget install -ei --id DuckDB.cli
pipx
scoop install pipx
pipx ensurepath
jbang
scoop bucket add jbangdev https://github.com/jbangdev/scoop-bucket
scoop install jbang
harlequin
CLIで実行可能なSQLエディタ
デフォルトでduckdbが使用できる。
pipx install harlequin
pipx inject harlequin harlequin-odbc
Twinkle Tray
輝度調整のアプリ
winget install -ei --id "9PLJWWSV01LK"
Nushell
いい感じのデータ検索用シェル。DBにも接続できればサイコーなのだが。
winget install -ei --id Nushell.Nushell
.NET 8
winget install -ei --id Microsoft.DotNet.SDK.8
Loqseq
winget install -ei --id Logseq.Logseq
pdftk
winget install -ei --id PDFLabs.PDFtk.Server
Paint.net
winget install -ei --id dotPDN.PaintDotNet
Cassava Editor
CSV編集ソフト。窓の杜からダウンロード。
WinFsp
winget install -ei --id WinFsp.WinFsp
Obsidian
LogSeqから移行。wingetでもインストールできそうだけど、普通に公式サイトからインストールした。
キーボードシミュレータ
Vectorからダウンロード。 パスワードマネージャーが使えない場面で重宝。
TreeSizeFree
DiskInfo3の動作が重くなってしまったのでその代替として。 ここからダウンロード
KSnip
スクリーンショットを撮影するアプリ。Windows標準のアプリと並行して使用。 範囲指定してキャプチャできるのが便利。
ここからダウンロード。PowerToysを使って、以下のように設定することで、グローバルショートカットで呼び出せるようにしている。

Klogg
ここからダウンロード。ログファイルのビュワー。
Go
winget install -ei --id GoLang.Go
uv
Pythonにおけるnpmのようなもの。管理者権限での実行を推奨。
winget install -ei --id astral-sh.uv
pixi
uvのconda版のようなもの。
conda-forgeをリポジトリとして使ったマルチプラットフォーム対応のパッケージマネージャのように使うことも出来る。
winget install -ei --id prefix-dev.pixi
Rust
winget install -ei --id Rustlang.Rustup