
SAMR APIを使用してローカル管理者を作成する(最も低レベルの手法)。C#、Crystal、Python、Rustで実装。
ローカル管理者を作成します。net.exe、PowerShellのNew-LocalUserまたはNetUserAddAPIよりも低レベルで動作します。
管理者権限が必要です。ユーザーが既に存在する場合はグループに追加されますが、パスワードは更新されません。
このリポジトリには4つの実装があります(C#、Python、Rust、Crystal)。また、@M0nster3によるC++や@AgeloVitoによるBOFファイルなど、他の言語による公開バージョンもあります。
このコードは、ローカルアカウントを作成するさまざまなテクニックに関するこのブログ記事の補足として提供されています。
引数は次のとおりです:
-u, --username - 作成するユーザー名(必須)
-p, --password - ユーザーのパスワード(必須)
-g, --group - グループ名(デフォルト: "Administrators")
-v, --verbose - 詳細出力を有効にする
-h, --help - ヘルプメッセージを表示する
# 基本使用法
adduser.exe -u <username> -p <password>
# グループを指定
adduser.exe -u <username> -p <password> -g <group>
# 詳細出力
adduser.exe -u testuser -p MyPass123 -g Administrators -v

このツールは次のSAMRプロトコル呼び出しを使用します:
Visual Studioまたはmsbuildを使用してコンパイルします。
cd Crystal
crystal build adduser.cr --release
.\adduser.exe -u testuser -p MyPass123 -v
Pythonスクリプトを使用できます:
cd Python
python adduser.py -u testuser -p MyPass123 -v
または、以下の方法でスタンドアロンバイナリを作成します:
cd Python
pyinstaller -F adduser.py
.\dist\adduser.exe -u testuser -p MyPass123 -v
cd Rust && mkdir target
cargo build --release
.\target\release\adduser.exe -u testuser -p MyPass123 -v