Windows Serverのユーザーと権限
管理者権限を持たない作業用アカウントの作成方法、RDPとフォルダへのアクセス許可、すべてに同じパスワードを使う状態を避ける方法を解説します。
更新日 2026年8月23日
お使いのマシンには管理者アカウントが1つだけ用意されています。常にそのアカウントで作業するのは悪い習慣です。ちょっとしたミスや悪意のあるファイルが、即座に完全な制御権を奪ってしまいます。最初から役割を分離しましょう。
ユーザーを作成する
$pw = Read-Host -AsSecureString "Password"
New-LocalUser -Name "app" -Password $pw -FullName "Application Service" -PasswordNeverExpires
Add-LocalGroupMember -Group "Users" -Member "app"
リモートデスクトップ経由でのサインインを許可します。
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "app"
英語版のイメージでは、グループは Users と Remote Desktop Users と呼ばれます。汎用的な方法は、識別子で参照することです。RDP グループの場合は Get-LocalGroup | Where-Object SID -like "*-555" を使用します。
マシン上に誰がいて、誰が管理者に所属しているかを確認するには、次のようにします。
Get-LocalUser | Select-Object Name, Enabled, LastLogon
Get-LocalGroupMember Administrators
フォルダーのアクセス許可
管理者メンバーシップではなく、ディレクトリへのアクセス権を付与しましょう。例として、ユーザー app に自身のディレクトリへのフルアクセスと、共有ディレクトリへの読み取り専用アクセスを付与します。
icacls "C:\apps\myapp" /grant "app:(OI)(CI)M" /T
icacls "C:\shared" /grant "app:(OI)(CI)R" /T
icacls "C:\apps\myapp" # view current permissions
記号の意味は次のとおりです。M — 変更、R — 読み取り、F — フルコントロール、(OI)(CI) — ファイルとサブフォルダーへの継承、/T — 既存の内容に適用。
サービスアカウント
インターネットに接続したり、アップロードされたファイルを処理したりするサービスは、LocalSystem として実行すべきではありません。最適なのは管理アカウントです。
New-Service -Name myapp -BinaryPathName "C:\apps\myapp\myapp.exe" -StartupType Automatic
sc.exe config myapp obj= "NT SERVICE\myapp" password= ""
よりシンプルでほぼ同等に安全なのは、組み込みの NT AUTHORITY\LocalService と NT AUTHORITY\NetworkService を使用し、必要なディレクトリにのみアクセス許可を付与する方法です。
パスワードポリシー
net accounts /minpwlen:14 /maxpwage:unlimited
net accounts /lockoutthreshold:5 /lockoutduration:30
5回の失敗でロックアウトする設定は、RDP が外部から到達可能な場合に特に重要です。詳細は RDP 保護 を参照してください。
よくある間違い
- 常に管理者として作業する。 自分用に通常のアカウントを作成し、必要な場面でのみ権限を昇格させましょう。
- 「とりあえず動かすため」にユーザーを管理者グループへ追加する。 実際に必要なのは、10回中9回は特定のフォルダーへのアクセスか、「サービスとしてログオン」の権限です(
secpol.msc→ ローカルポリシー → ユーザー権利の割り当て)。 - 2つ目のログインを確認せずに組み込み管理者を無効化する。 まず新しいアカウントが RDP 経由で実際にサインインできることを確認し、それから
Disable-LocalUser -Name adm-localを実行しましょう。 - サービスのパスワードをスクリプト内に平文で保存する。 ユーザーが書き込めるディレクトリ内のスクリプトは、誰でも読むことができます。
すべてのアカウントをロックアウトしてしまった場合でも、コントロールパネルの
/hosting/vds/m/<id>にある「コンソール」タブから「Screen」モードでアクセスできます。作成時に発行された管理者パスワードは、常に「アクセス」タブで確認できます。