レコードの作成と更新
record-addおよびrecord-updateコマンドに関する詳細
record-addコマンドのドキュメント
本ページには、Keeperコマンダーにおけるrecord-add
コマンドを使用したレコードの作成方法について、包括的な例を記載しています。このコマンドでは、フィールド指定にドット記法を、複雑なフィールドには $JSON:
構文をサポートしています。
バックスラッシュ (\
) の後にスペースを入れないでください。行は必ず\
で終了する必要があります。スペースがあると空の引数が渡され、解析エラーの原因となります。
コマンド構文
record-add --title "Record Title" --record-type "RECORD_TYPE" [OPTIONS] [FIELDS...]
主な引数
--title
/ -t
レコードのタイトル (必須)
--record-type
/ -rt
レコードタイプ (必須)
--notes
/ -n
レコードのメモ (任意)
--folder
レコードを保存するフォルダのパスまたはUID (任意)
--force
/ -f
警告を無視して実行 (任意)
--syntax-help
フィールド構文のヘルプを表示
フィールド構文の概要
ドット記法の形式
[FIELD_SET.][FIELD_TYPE][.FIELD_LABEL]=FIELD_VALUE
各要素の説明
FIELD_SET
任意。f
(標準フィールド) またはc
(カスタムフィールド) を指定可能
FIELD_TYPE
フィールドタイプ (例: login
、 password
、url
など)
FIELD_LABEL
任意。フィールドにラベルを付ける場合に使用
FIELD_VALUE
フィールドに設定する値
特殊な値の構文
$JSON:{"key": "value"}
複雑なオブジェクト型フィールドに使用
$GEN
パスワード、TOTPコード、鍵ペアなどを自動生成
file=@filename
ファイルの添付。@
のあとにファイルパスを指定
レコードタイプ
Keeperコマンダーでは、以下の2種類のレコードタイプがサポートされています。
タイプ付きレコード あらかじめ定義されたスキーマに基づく構造化レコード (例: ログイン、銀行口座、連絡先など)
レガシーレコード 一般的なレコード形式。使用時は
-rt legacy
または-rt general
を指定します。
フィールドタイプと例
単純フィールドタイプ
login
ユーザー名/ログインID
password
パスワード (マスク表示)
url
ウェブサイトのURL
email
メールアドレス
text
プレーンテキスト
multiline
複数行のテキスト
secret
マスクされたテキストフィールド
note
マスクされた複数行のテキスト
oneTimeCode
TOTP/2要素認証コード (2FA)
date
Unixエポックタイムまたは日付文字列
複雑フィールドタイプ
※ $JSON:
構文で指定する必要があります。
phone
電話番号 (地域情報や種別を含む)
name
氏名 (名、ミドルネーム、姓)
address
住所 (郵便番号、都道府県、市区町村、番地など)
paymentCard
クレジットカード情報
bankAccount
銀行口座情報
securityQuestion
セキュリティ質問と回答のペア
host
ホスト名とポート番号の組み合わせ
keyPair
SSH鍵ペア
クイックスタート例
基本的なログインレコード
1行で実行する場合 (コピー&ペースト向け/推奨)
record-add -t "Gmail Account" -rt login login=john.doe@gmail.com password=SecurePass123 url=https://accounts.google.com
複数行で記述する場合 (手入力推奨・コピー&ペースト非推奨)
record-add -t "Gmail Account" -rt login \
login=john.doe@gmail.com \
password=SecurePass123 \
url=https://accounts.google.com
電話番号付きの基本的な連絡先レコード
record-add -t "John Smith" -rt contact \
name='$JSON:{"first": "John", "middle": "Michael", "last": "Smith"}' \
email=john.smith@email.com \
phone.Mobile='$JSON:{"number": "(555) 555-1234", "type": "Mobile"}'
複数レコードのスクリプト実行
Keeperコマンダーでは、run-batch
やrun
コマンドを使って複数のレコード操作をスクリプト化できます。
以下は複雑なオブジェクトフィールドの正確な形式を取得する際の最も簡単な方法となります。
ウェブボルトで1件レコードを作成する
コマンダーで以下を実行し、JSON形式を取得する
get UID --format=json
→
$JSON:{"key": "value"}
の形式で取得可能
これをもとにバッチスクリプトを作成し、実行できます。
# my_script.txt
record-add -t "Gmail Account" -rt login login=john.doe@gmail.com
record-add -t "Yahoo Account" -rt login login=john.doe@yahoo.com
# run batch
keeper shell run-batch my_script.txt
レコードタイプ別の詳細な使用例
1. ログイン情報レコード
# 基本的なログイン情報レコード
record-add -t "Gmail Account" -rt login \
login=john.doe@gmail.com \
password=SecurePass123 \
url=https://accounts.google.com
# 自動生成されたパスワードでのログイン
record-add -t "Work Account" -rt login \
login=john.doe \
password='$GEN:rand,16' \
url=https://company.com
# TOTP を使用したログイン
record-add -t "Banking Login" -rt login \
login=john.doe \
password=MySecurePassword \
url=https://mybank.com \
oneTimeCode='$GEN'
# セキュリティ質問付きログイン
record-add -t "Investment Account" -rt login \
login=john.doe \
password=InvestPass123 \
url=https://investment.com \
securityQuestion.Mother='$JSON:[{"question": "What is your mother'\''s maiden name?", "answer": "Smith"}]'
# カスタムフィールド付きログイン
record-add -t "Work VPN" -rt login \
login=john.doe \
password=VpnPass123 \
url=https://vpn.company.com \
c.text.Department="IT Security" \
c.text.Employee_ID="EMP001"
2. 銀行口座レコード
# 基本的な銀行口座レコード
record-add -t "Chase Checking" -rt bankAccount \
bankAccount='$JSON:{"accountType": "Checking", "routingNumber": "021000021", "accountNumber": "123456789"}' \
name='$JSON:{"first": "John", "last": "Doe"}' \
login=john.doe \
password=BankPass123
# オンラインバンキング付きの銀行口座
record-add -t "Wells Fargo Savings" -rt bankAccount \
bankAccount='$JSON:{"accountType": "Savings", "routingNumber": "121042882", "accountNumber": "987654321"}' \
name='$JSON:{"first": "Jane", "last": "Smith"}' \
login=jane.smith \
password=SavePass456 \
url=https://wellsfargo.com \
--notes "高利回りの普通預金口座"
3. クレジットカードレコード
# クレジットカード
record-add -t "Chase Sapphire Preferred" -rt bankCard \
paymentCard='$JSON:{"cardNumber": "4111111111111111", "cardExpirationDate": "12/2025", "cardSecurityCode": "123"}' \
text.cardholderName="John Doe" \
pinCode=1234 \
login=john.doe \
password=CardPass123
# デビットカード
record-add -t "Bank of America Debit" -rt bankCard \
paymentCard='$JSON:{"cardNumber": "5555555555554444", "cardExpirationDate": "08/2026", "cardSecurityCode": "456"}' \
text.cardholderName="Jane Smith" \
pinCode=5678
4. 連絡先レコード
# 個人の連絡先
record-add -t "John Smith" -rt contact \
name='$JSON:{"first": "John", "middle": "Michael", "last": "Smith"}' \
email=john.smith@email.com \
phone.Mobile='$JSON:{"number": "(555) 555-1234", "type": "Mobile"}' \
text.company="ABC Corporation"
# 複数の電話番号を持つビジネス連絡先
record-add -t "Dr. Sarah Johnson" -rt contact \
name='$JSON:{"first": "Sarah", "last": "Johnson"}' \
email=sarah.johnson@medical.com \
phone.Work='$JSON:{"number": "(555) 987-6543", "type": "Work"}' \
phone.Mobile='$JSON:{"number": "(555) 123-4567", "type": "Mobile"}' \
text.company="Medical Associates" \
c.text.Title="Chief Medical Officer"
5. 住所レコード
# 自宅の住所
record-add -t "Home Address" -rt address \
address='$JSON:{"street1": "123 Main St", "street2": "Apt 4B", "city": "New York", "state": "NY", "zip": "10001", "country": "US"}'
# 勤務先の住所
record-add -t "Office Address" -rt address \
address='$JSON:{"street1": "456 Business Ave", "city": "San Francisco", "state": "CA", "zip": "94105", "country": "US"}' \
--notes "本社所在地"
6. サーバーの認証情報
# Web server
record-add -t "Production Web Server" -rt serverCredentials \
host='$JSON:{"hostName": "web.company.com", "port": "22"}' \
login=admin \
password='$GEN:rand,20' \
c.text.Environment="Production" \
c.text.Purpose="Web Server"
# Database server
record-add -t "MySQL Database" -rt databaseCredentials \
host='$JSON:{"hostName": "db.company.com", "port": "3306"}' \
login=dbadmin \
password=DbSecure123 \
text.database="production_db"
7. SSHキー
# SSH鍵ペアの生成
record-add -t "Production SSH Key" -rt sshKeys \
keyPair='$GEN:ed25519,enc' \
host='$JSON:{"hostName": "prod.company.com", "port": "22"}' \
login=deploy \
c.text.Purpose="Production deployment"
# 既存のSSH鍵を使用
record-add -t "GitHub SSH Key" -rt sshKeys \
keyPair='$JSON:{"privateKey": "-----BEGIN OPENSSH PRIVATE KEY-----\n...", "publicKey": "ssh-ed25519 AAAAC3..."}' \
host='$JSON:{"hostName": "github.com", "port": "22"}' \
login=git
8. ソフトウェアライセンス
# ソフトウェアライセンス
record-add -t "Microsoft Office" -rt softwareLicense \
licenseNumber="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" \
c.text.Product_Version="Office 365" \
c.text.Licensed_To="John Doe" \
c.date.Purchase_Date="2023-01-15" \
c.date.Expiration_Date="2024-01-15"
9. WiFiパスワード
# WiFiネットワーク
record-add -t "Home WiFi" -rt wifiCredentials \
text.ssid="MyHomeNetwork" \
password=WiFiPassword123 \
c.text.Security_Type="WPA2" \
c.text.Frequency="5GHz"
10. メモ
# 基本的なメモ
record-add -t "Important Information" -rt encryptedNotes \
note="This is confidential information that needs to be encrypted." \
date="2024-01-15"
# カスタムフィールド付きメモ
record-add -t "Recovery Codes" -rt encryptedNotes \
note="Backup codes for two-factor authentication" \
c.text.Service="Google Authenticator" \
c.multiline.Codes="123456\n789012\n345678"
11. データベース認証情報
# PostgreSQLデータベース
record-add -t "Production PostgreSQL" -rt databaseCredentials \
host='$JSON:{"hostName": "db.company.com", "port": "5432"}' \
login=postgres \
password='$GEN:rand,24' \
text.database="production_db" \
c.text.Environment="Production" \
c.text.SSL_Mode="require"
# MongoDBデータベース
record-add -t "Analytics MongoDB" -rt databaseCredentials \
host='$JSON:{"hostName": "mongo.company.com", "port": "27017"}' \
login=admin \
password=MongoPass456 \
text.database="analytics" \
c.text.Replica_Set="rs0"
12. 運転免許証
# 運転免許証
record-add -t "Driver's License" -rt driverLicense \
accountNumber=DL123456789 \
name='$JSON:{"first": "John", "last": "Doe"}' \
birthDate="1990-01-15" \
expirationDate="2025-01-15" \
address='$JSON:{"street1": "123 Main St", "city": "New York", "state": "NY", "zip": "10001", "country": "US"}' \
c.text.License_Class="Class C"
# 商用運転免許証
record-add -t "CDL License" -rt driverLicense \
accountNumber=CDL987654321 \
name='$JSON:{"first": "Jane", "last": "Smith"}' \
birthDate="1985-05-20" \
expirationDate="2024-05-20" \
c.text.License_Class="Class A" \
c.text.Endorsements="Hazmat, Passenger"
13. パスポート
# 米国パスポート
record-add -t "US Passport" -rt passport \
accountNumber=123456789 \
name='$JSON:{"first": "John", "last": "Doe"}' \
birthDate="1990-01-15" \
expirationDate="2030-01-15" \
date="2020-01-15" \
address='$JSON:{"street1": "123 Main St", "city": "New York", "state": "NY", "zip": "10001", "country": "US"}' \
c.text.Place_of_Birth="New York, NY" \
c.text.Nationality="US"
14. 健康保険
# 健康保険
record-add -t "Blue Cross Blue Shield" -rt healthInsurance \
accountNumber=12345678901 \
name='$JSON:{"first": "John", "last": "Doe"}' \
login=john.doe \
password=HealthPass123 \
url=https://bcbs.com \
c.text.Plan_Type="PPO" \
c.text.Group_Number="12345" \
c.text.Deductible="$2000"
15. メンバーシップ
# ジムメンバーシップ
record-add -t "Gold's Gym" -rt membership \
accountNumber=GYM123456 \
name='$JSON:{"first": "John", "last": "Doe"}' \
password=GymPass123 \
c.text.Membership_Type="Premium" \
c.date.Expiration_Date="2024-12-31"
# プロフェッショナルメンバーシップ
record-add -t "IEEE Membership" -rt membership \
accountNumber=IEEE987654 \
name='$JSON:{"first": "Jane", "last": "Smith"}' \
password=IEEEPass456 \
c.text.Membership_Grade="Senior Member" \
c.text.Specialization="Computer Science"
16. 出生証明書
# 出生証明書
record-add -t "Birth Certificate" -rt birthCertificate \
name='$JSON:{"first": "John", "middle": "Michael", "last": "Doe"}' \
birthDate="1990-01-15" \
address='$JSON:{"street1": "Hospital Address", "city": "New York", "state": "NY", "country": "US"}' \
c.text.Certificate_Number="BC123456789" \
c.text.Place_of_Birth="New York General Hospital" \
c.text.Parents_Names="Jane Doe, Robert Doe"
17. ソーシャルセキュリティカード
# SSNカード
record-add -t "Social Security Card" -rt ssnCard \
accountNumber=123-45-6789 \
name='$JSON:{"first": "John", "middle": "Michael", "last": "Doe"}' \
c.text.Issue_Date="2008-01-15" \
c.text.Issue_State="New York"
18. 写真レコード
# 写真レコード
record-add -t "Profile Photo" -rt photo \
file='@/path/to/profile.jpg' \
c.text.Description="Professional headshot" \
c.date.Date_Taken="2024-01-15"
19. 添付ファイル
# 添付ファイル付きレコード
record-add -t "Important Document" -rt file \
file='@/path/to/document.pdf' \
--notes "Legal documents"
# 複数の添付ファイル
record-add -t "Project Files" -rt file \
file='@/path/to/project.zip' \
file='@/path/to/readme.txt' \
c.text.Project_Name="Alpha Release"
20. PAMデータベース
# PAMデータベース構成
record-add -t "Production Oracle DB" -rt pamDatabase \
pamHostname='$JSON:{"hostName": "oracle.company.com", "port": "1521"}' \
login=system \
password='$GEN:rand,20' \
text.database="PROD" \
c.text.Instance_Name="ORCL" \
c.text.Service_Name="prod.company.com"
21. PAMディレクトリ
# Active Directory PAM
record-add -t "Corporate Active Directory" -rt pamDirectory \
pamHostname='$JSON:{"hostName": "dc.company.com", "port": "389"}' \
login=administrator \
password='$GEN:rand,24' \
c.text.Domain="company.com" \
c.text.Base_DN="dc=company,dc=com" \
c.text.Security_Protocol="LDAPS"
22. PAMマシン
# プロダクションサーバーPAM
record-add -t "Production Web Server" -rt pamMachine \
pamHostname='$JSON:{"hostName": "web01.company.com", "port": "22"}' \
login=root \
password='$GEN:rand,20' \
c.text.OS="Ubuntu 20.04" \
c.text.Environment="Production" \
c.text.Purpose="Web Application Server"
23. PAMユーザー
# 特権ユーザーアカウント
record-add -t "Database Admin User" -rt pamUser \
login=dbadmin \
password='$GEN:rand,24' \
name='$JSON:{"first": "Database", "last": "Administrator"}' \
c.text.Department="IT Operations" \
c.text.Access_Level="Full Database Admin" \
c.date.Account_Expiry="2024-12-31"
24. PAMリモートブラウザ
# リモートブラウザセッション
record-add -t "Salesforce Admin Session" -rt pamRemoteBrowser \
url=https://company.salesforce.com \
login=admin@company.com \
password='$GEN:rand,16' \
c.text.Session_Type="Administrative" \
c.text.Browser_Profile="Chrome Enterprise"
PAM環境の例
各PAMレコードは、Keeperゲートウェイを参照するPAM構成に紐付けられています。このゲートウェイは通常、ローカルネットワーク内またはPAMリソースへのアクセスが可能な場所にインストールされます。以下は、新しいPAM環境を構成する際の基本的な出発点となる例です。
# 共有フォルダを作成
mkdir gwapp -sf -a
# Secrets Managerアプリケーションを作成
secrets-manager app create gwapp1
# 作成した共有フォルダを新しいアプリに追加
secrets-manager share add --app=gwapp1 --secret=SHARED_FOLDER_UID --editable
# 新しいPAMゲートウェイを作成 - 出力:Docker用のbase64構成
pam gateway new --name=gateway1 --application=gwapp1 --config-init=b64 --return_value
# 新しいゲートウェイを使ってPAM構成を作成
pam config new --environment=local \
--title=config1 \
--gateway=gateway1 \
-sf=SHARED_FOLDER_UID \
--connections=on --tunneling=on --rotation=on --remote-browser-isolation=on
# PAMリソースレコードとユーザーを作成:管理者とローテーションユーザーを持つマシン1台
record-add --folder=SHARED_FOLDER_UID --title=admin1 -rt=pamUser \
login=admin1 password="$GEN:rand,16"
record-add --folder=SHARED_FOLDER_UID --title=user1 -rt=pamUser \
login=user1 password="$GEN:rand,16"
record-add --folder=SHARED_FOLDER_UID --title=machine1 -rt=pamMachine \
pamHostname="$JSON:{\"hostName\": \"127.0.0.1\", \"port\": \"22\"}"
# 接続とトンネリング用にPAMマシンを設定
pam tunnel edit PAM_MACHINE_UID --configuration=PAM_CONFIG_UID --enable-tunneling
pam connection edit PAM_MACHINE_UID --configuration=PAM_CONFIG_UID \
--connections=on \
--protocol=ssh \
--admin-user=ADMIN_USER_UID
# PAMユーザーをマシン(リソース)のローテーション用に設定
# --force は非対話モードに切り替える
pam rotation edit --config=PAM_CONFIG_UID \
--record=PAM_USER_UID \
--resource=PAM_MACHINE_UID \
--admin-user=ADMIN_USER_UID \
--on-demand --enable --force
# ゲートウェイインストール後にセットアップをテスト可能
pam tunnel start PAM_MACHINE_UID
# pam tunnel stop ENDPOINT_UID
pam action rotate --record-uid=PAM_USER_UID
高度な機能
パスワード生成
# Random password (default)
password='$GEN'
password='$GEN:rand,16' # 16 characters
# Diceware password
password='$GEN:dice,5' # 5 words
# Crypto password
password='$GEN:crypto'
TOTP/2FAの生成
# Generate TOTP secret
oneTimeCode='$GEN'
# Existing TOTP URL
oneTimeCode='otpauth://totp/Example:user@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example'
SSHキーの生成
# Generate RSA key pair
keyPair='$GEN:rsa'
# Generate EC key pair
keyPair='$GEN:ec'
# Generate Ed25519 key pair (recommended)
keyPair='$GEN:ed25519'
# Generate encrypted key pair
keyPair='$GEN:ed25519,enc'
カスタムフィールド
# Custom text field
c.text.Department="Engineering"
# Custom multiline field
c.multiline.Notes="Line 1\nLine 2\nLine 3"
# Custom secret field (masked)
c.secret.API_Key="secret-api-key-here"
# Custom date field
c.date.Expiration="2024-12-31"
一般フィールドのリファレンス
データ形式
# Unix timestamp
date=1668639533
# ISO format
date="2022-11-16T10:58:53Z"
# Simple date
date="2022-11-16"
電話番号形式
phone.Work='$JSON:{"region": "US", "number": "(555) 555-1234", "ext": "123", "type": "Work"}'
phone.Mobile='$JSON:{"number": "(555) 555-1234", "type": "Mobile"}'
名前の形式
name='$JSON:{"first": "John", "middle": "Michael", "last": "Doe"}'
name='$JSON:{"first": "Jane", "last": "Smith"}'
住所の形式
address='$JSON:{"street1": "123 Main St", "street2": "Apt 4B", "city": "New York", "state": "NY", "zip": "10001", "country": "US"}'
秘密の質問の形式
securityQuestion.Mother='$JSON:[{"question": "What is your mother'\''s maiden name?", "answer": "Smith"}]'
securityQuestion.Pet='$JSON:[{"question": "What was your first pet'\''s name?", "answer": "Fluffy"}]'
自動消滅型レコード (ワンタイム共有)
--self-destruct
オプションを使用すると、一度開くと自動的に削除される一時的なレコードを作成できます。この機能は、一度しか閲覧してほしくない機密情報の共有に最適です。
自動消滅の仕組み
指定した時間後に有効期限が切れる一時的な共有URLを作成します
レコードは、共有URLが初めて開かれるまで自分のボルト内に残ります
URLが開かれてから5分後に自動的に削除されます
有効期限の最長期間は6か月です
構文
--self-destruct <NUMBER>[(m)inutes|(h)ours|(d)ays]
時間単位
自己破壊型レコードや一時的な共有リンクの有効期限には、以下の単位を使用できます。
m
またはminutes
: 分 (※単位を省略した場合はデフォルトで分扱い)h
またはhours
: 時間d
またはdays
: 日数
使用例
一時的パスワードの共有 (1時間後に失効)
record-add -t "Temporary Server Access" -rt login \
login=admin \
password='$GEN:rand,16' \
url=https://server.company.com \
--self-destruct 1h \
--notes "Emergency access for John Doe"
一時的Wi-Fiパスワードの共有 (30分後に失効)
record-add -t "Guest WiFi Access" -rt wifiCredentials \
text.ssid="Company-Guest" \
password=TempPass123 \
--self-destruct 30m \
--notes "Visitor access for meeting"
一時的なファイル共有 (24時間後に失効)
record-add -t "Confidential Document" -rt file \
file='@/path/to/sensitive-doc.pdf' \
--self-destruct 1d \
--notes "Contract for review - auto-deletes after viewing"
緊急連絡先情報の共有 (2時間後に失効)
record-add -t "Emergency Contact" -rt contact \
name='$JSON:{"first": "Emergency", "last": "Contact"}' \
phone.Mobile='$JSON:{"number": "(555) 911-0000", "type": "Emergency"}' \
--self-destruct 2h
戻り値
--self-destruct
を使用すると、レコードUIDではなく共有可能なURLを返します。
$ record-add -t "Temp Password" -rt login login=user password=pass123 --self-destruct 1h
https://keepersecurity.com/vault/share/AbCdEf123456...
重要な注意事項
⚠️ セキュリティに関する注意点
URLが鍵です ― URLを知っている人は誰でもレコードにアクセスできます
認証不要 ― 共有URLはログイン認証をバイパスします
一度きりのアクセス ― レコードは最初の表示から5分後に自動削除されます
復元不可 ― 一度削除されるとレコードは元に戻せません
⚠️ 制限事項
有効期限は最大6か月
自動削除レコードは更新不可
プレビュー不可 ― 作成後にレコードを再確認することはできません
即時共有 ― URLは作成直後から有効になります
ベストプラクティス
URLはすぐにコピーしてください ― 後から取得することはできません
セキュリティ強化のため、短い有効期限(数分~数時間)を設定しましょう
レコードの目的や背景を「ノート」に記録しておきましょう
URLは安全な方法(暗号化メッセージ、対面など)で共有しましょう
一時的なアクセスには
$GEN
を使って強力なパスワードを生成しましょうURLの有効期限前に受信者が受け取ったことを確認しましょう
活用事例
システム管理者向けの緊急アクセス認証情報
外部委託先やコンサルタント用の一時パスワード
機密ファイルの一度きりの文書共有
来客用ネットワークのWi-Fi情報共有
チームメンバー間での安全な情報受け渡し
自動化システム間での期限付きシークレット共有
ヒントとベストプラクティス
コピー&ペーストには1行のコマンドを使用し、行末のスペースによるエラーを防ぎましょう
シェルによる解釈を避けるため、JSONの値には引用符を使いましょう
パスワードをハードコードせず、
$GEN
を使用して安全に生成しましょう複雑なレコードを作成する前に、まずはシンプルなレコードでテストしましょう
標準でないデータにはカスタムフィールド (
c.
) を活用しましょう--folder
パラメータでフォルダ整理を行い、レコードを体系化しましょう--notes
を使ってレコードの背景や目的を記録し、管理しやすくしましょう
トラブルシューティング (よくある問題と対処法)
「Expected: =, got: ; Missing =」エラー
複数行コマンドのバックスラッシュの後にスペースを入れないようにしてください
コピー&ペーストする際は、1行形式を使用してください
「Field type not supported」 (対応していないフィールドタイプ)
使用可能なフィールドタイプは
record-add --syntax-help
で確認できます標準外のフィールドには
c.
接頭辞付きのカスタムフィールドを使ってください
JSON解析エラー
JSONが正しく引用されていることを確認してください
JSON内のシングルクォートは
'\''
のようにエスケープしてくださいJSONオブジェクト内ではダブルクォート ( " ) を使用してください
ファイル添付のエラー
ファイルパスの前に
@
を付けてください (例:file=@/path/to/file.txt
)ファイルパスが正しくアクセス可能なことを確認してください
相対パスではなく絶対パスの使用を推奨します
record-add
とrecord-update
の違い
record-add
とrecord-update
の違いrecord-add
は新しいレコードを作成するためのコマンドであり、record-update
は既存のレコードを編集するために使用します。以下は主な違いの比較です。
目的
新規レコードの作成
既存レコードの編集
レコード識別子
不要
必須 (-r
または--record
を指定)
レコードタイプ
必須 (-rt
)
任意 (変更も可能)
フィールドの動作
すべてのフィールドを設定
指定したフィールドのみ更新
メモの動作
新規に設定
+
接頭辞付きで追記、接頭辞なしで上書き
record-updateの構文
record-update --record "RECORD_TITLE_OR_UID" [OPTIONS] [FIELDS...]
主な引数
--record
/-r
: レコードのタイトルまたは UID (必須)--title
/-t
: レコードのタイトルを更新--record-type
/-rt
: レコードタイプを変更--notes
/-n
: メモを更新 (先頭に+
を付けると追記、それ以外は上書き)--force
/-f
: 警告を無視して実行
使用例
パスワードとURLを更新
record-update -r "Gmail Account" \
password='$GEN:rand,20' \
url=https://accounts.google.com/new-login
既存の連絡先に電話番号を追加
record-update -r "John Smith" \
phone.Work='$JSON:{"number": "(555) 987-6543", "type": "Work"}'
メモに追記 (先頭の + に注意)
record-update -r "Server Credentials" \
--notes "+Updated password on 2024-01-15"
タイトルを変更し、カスタムフィールドを追加
record-update -r "Old Server Name" \
--title "Production Web Server" \
c.text.Environment="Production" \
c.text.Last_Updated="2024-01-15"
レコードタイプの変更 (構造を変換)
record-update -r "Simple Login" \
--record-type contact \
name='$JSON:{"first": "John", "last": "Doe"}' \
email=john.doe@example.com
各コマンドの用途
record-add
新しいレコードを作成するとき
すべてのフィールドを一から指定したいとき
初期のレコード構造を設定するとき
record-update
既存のレコードを編集したいとき
既存のレコードに新しいフィールドを追加するとき
パスワードや認証情報を更新したいとき
メモに情報を追記したいとき
レコードタイプを変換したいとき
重要な注意点
record-update
は指定したフィールドのみを変更します指定していない既存のフィールドはそのまま保持されます
field=
のように値を空にすると、そのフィールドを消去できますメモに
+
を付けると追記、付けない場合は上書きになります
ヘルプ表示
# 利用可能なすべてのレコードタイプを表示
record-type-info
# 特定のレコードタイプ (例: login) のフィールドを表示
record-type-info --list-record login
# 特定のフィールドタイプ (例: phone) の情報を表示
record-type-info --list-field phone
# record-add コマンドのフィールド構文ヘルプを表示
record-add --syntax-help
# record-update コマンドのヘルプを表示
record-update --help
最終更新