コマンドライン¶
コマンドラインツールは、TeamFile サーバーに対する操作を Windows のコマンドプロンプトや PowerShell から実行するためのツール群です。 シェルスクリプトや外部プログラムから呼び出すことで、ユーザ・グループ管理やファイル転送を自動化できます。
特長¶
- ユーザ及びグループの作成、編集、削除、情報取得が可能
- 認証プロキシや SSL にも対応し、専用クライアントと同等の操作が可能
- ユーザの作成と同時にグループへの所属も可能
- ユーザ及びグループ情報を XML 形式で出力でき、外部プログラムとの連携が容易
- ファイルのアップロード、ダウンロード、一覧取得、削除が可能
- 管理者向けにユーザのステータス一覧を取得可能
- プロキシを自動で検出可能
構成¶
| コマンド | 用途 |
|---|---|
| pkusr | ユーザ管理(追加・更新・削除・情報取得) |
| pkgrp | グループ管理(追加・更新・削除・情報取得、ユーザの所属) |
| pkstat | ステータス管理(全ユーザの状態を一覧として取得) |
| pkput | ファイルのアップロード |
| pkget | ファイルのダウンロード |
| pklist | ファイルの一覧取得 |
| pkdel | ファイルの削除 |
動作環境¶
コマンドラインツールが動作する Windows 環境をご用意ください。必要なライブラリはすべてパッケージに含まれています。
コマンドラインは標準の MBCS で動作するため、通常は文字コードを意識する必要はありません。ただし、UTF-8 でのみ表現できる文字を扱う場合は文字化けやエラーになります。通常コンソールに表示できる文字であれば問題ありません。
セットアップ¶
ダウンロード¶
| 種類 | ダウンロード URL |
|---|---|
| インストーラ (EXE) | https://dl.teamfile.com/client/cmd/pkcmd-Setup-3.0.0.1.exe |
| ZIP | https://dl.teamfile.com/client/cmd/pkcmd-3.0.0.1.zip |
過去のバージョンを含むファイル一覧は https://dl.teamfile.com/client/cmd/ から取得できます。
インストール¶
- EXE 版:ダウンロードした EXE をダブルクリックしてインストールします。既定では
C:\Program Files\pkcmd\にインストールされます(環境により Program Files の場所は異なります)。 - ZIP 版:任意の場所に展開するだけで利用できます。
コマンドラインツール専用アカウントの作成¶
コマンドラインツールを利用するには、管理者権限を持つ TeamFile のアカウント(OS のアカウントではありません)が必要です。このアカウントはコマンドラインツール専用にすることを推奨します。
アカウントは専用クライアントで作成してください。作成したアカウントは、後述の共通オプション(-U、-P)または環境変数(PKUSER、PKPASS)に指定して利用します。
共通オプション¶
すべてのコマンドで次のオプションが利用できます。
| パラメータ | 説明 |
|---|---|
| -U | 管理者ユーザのユーザ ID(環境変数:PKUSER) |
| -P | 管理者ユーザのパスワード(環境変数:PKPASS) |
| -H | サーバーの URL http://host.domain/location/(環境変数:PKHOST) |
| -T | ソケットタイムアウト |
| -G | プロキシホスト(-G ホスト名:ポート番号。-G auto で自動検出) |
| -L | 利用言語 [ ja | en ](デフォルト:ja) |
| -X | プロキシユーザ ID |
| -Y | プロキシパスワード |
| -V | バージョンを表示する |
| -M | モード [ add | delete | update | view ](コマンドにより異なります) |
| -O | 出力形式 [ xml | plain ](デフォルト:plain) |
| -Z | 圧縮受信を要求する(環境変数:PKCOMP=[true\|false]) |
| -D | デバッグモード [ -D 出力ファイル名 ] |
| -S | クライアント証明書へのフルパス名 [ -S ファイルパス名 ] |
| -? | ヘルプを表示する |
環境変数¶
いくつかの引数は、環境変数に設定しておくことで省略できます。
| 環境変数名 | 意味 |
|---|---|
| PKUSER | サーバーにアクセスするためのユーザ ID。専用アカウント のユーザ ID を指定します。 |
| PKPASS | 上記ユーザのパスワード |
| PKHOST | アクセスする URL |
| PKCOMP | サーバーから受信するデータを圧縮して受信するかどうか(true / false) |
モード¶
-M で指定するモードにより、1 つのコマンドで複数の機能を使い分けます。
| モードの値 | 意味 |
|---|---|
| add | 新規作成 |
| delete | 削除 |
| update | 更新 |
| view | 情報を画面に表示 |
pkusr(ユーザ管理)¶
用途¶
- 新規ユーザの作成(グループへの所属も同時に指定できます)
- ユーザ情報の更新(グループへの所属も同時に指定できます)
- ユーザの削除
- ユーザ情報の取得
ユーザの新規作成(-M add)¶
| パラメータ | 説明 |
|---|---|
| -a | アクセス権限(RW:フルアクセス、RO:読み込み専用、UO:アップロード専用)(省略時:RW) |
| -b | リソース公開権限 [ on | off ](省略時:-z が normal、admin であればあり) |
| -c | コメント(省略可) |
| -d | ユーザのアクティブ設定 [ active | inactive ](省略時:active) |
| -e | 有効期限。ISO8601 形式(UTC)書式:YYYY-MM-DDThh:mm:ssZ(省略可) |
| -f | ファイル数のリミット(省略時:無制限) |
| -g | 所属するグループをカンマ区切りで指定(例:group1,group2)(省略可) |
| -i | 新規作成するユーザのユーザ ID(必須) |
| -l | アクセス制限(複数指定時はカンマ区切り)(省略可)※2 |
| -n | ユーザ名(必須) |
| -m | メールアドレス(省略可) |
| -o | 他ユーザを管理する [ on | off ](省略可) (-z が groupleader の場合のみ有効。グループリーダ機能) |
| -p | パスワード(必須) |
| -r | 容量のリミット(省略時:無制限) |
| -t | グループ制約を受けない [ on | off ](グループ制約機能)(省略可) |
| -u | 作成可能なユーザ数 [ -u ユーザ数 | 0(無制限)](省略可) (-z が groupleader の場合のみ有効。グループリーダ機能) |
| -w | 許可ホスト(カンマ区切り) |
| -z | ユーザの種類 [ admin | groupleader | normal | limited ](省略時:normal)※1 |
ユーザの更新(-M update)¶
| パラメータ | 説明 |
|---|---|
| -a | アクセス権限(RW:フルアクセス、RO:読み込み専用、UO:アップロード専用) (-s がある場合は省略可。-s が無い場合に省略するとデフォルト値)※3 |
| -b | リソース公開権限 [ on | off ] ※3 |
| -c | コメント ※3 |
| -d | ユーザのアクティブ設定 [ active | inactive ] ※3 |
| -e | 有効期限。ISO8601 形式(UTC)書式:YYYY-MM-DDThh:mm:ssZ。0 で無期限 ※3 |
| -f | ファイル数のリミット ※3 |
| -g | 所属するグループをカンマ区切りで指定(例:group1,group2)※3 |
| -i | 更新するユーザのユーザ ID(必須) |
| -l | アクセス制限(複数指定時はカンマ区切り)※2 ※3 |
| -n | ユーザ名 ※3 |
| -m | メールアドレス ※3 |
| -o | 他ユーザを管理する [ on | off ] (-z が groupleader の場合のみ有効。グループリーダ機能) |
| -p | パスワード ※3 |
| -r | 容量のリミット ※3 |
| -s | 指定されていないパラメータはサーバーの値を利用する ※3 |
| -t | グループ制約を受けない [ on | off ](グループ制約機能) |
| -u | 作成可能なユーザ数 [ -u ユーザ数 | 0(無制限)] (-z が groupleader の場合のみ有効。グループリーダ機能) |
| -w | 許可ホスト(カンマ区切り) |
| -z | ユーザの種類 [ admin | groupleader | normal | limited ] ※1 ※3 |
| -2 | 変更先ユーザ ID(更新専用)※4 |
ユーザの削除(-M delete)¶
| パラメータ | 説明 |
|---|---|
| -i | 削除対象のユーザ ID |
| -q | 強制削除 |
ユーザ情報の表示(-M view)¶
| パラメータ | 説明 |
|---|---|
| -i | 情報を表示するユーザのユーザ ID |
| -v | ユーザのステータスだけを戻り値で取得する(省略可) |
注意事項¶
※1:組み合わせに制限のある引数
仕様により、以下の組み合わせは設定できません。
- リソース公開権限(-b)と、ユーザの種類が制限ユーザ(-z limited)
- グループ制約を受けない(-t)と、ユーザの種類が制限ユーザ(-z limited)または管理者(-z admin)
- 他ユーザの管理(-o)と、ユーザの種類がグループリーダ(-z groupleader)以外
- 作成可能ユーザ数(-u)と、ユーザの種類がグループリーダ(-z groupleader)以外
※2:アクセス制限用識別子
アクセス制限用識別子(user、group など)は、指定したフォルダを「アクセス禁止」にする目的で使用します。識別子と対象フォルダの関係は以下のとおりです。
| アクセス制限用識別子 | 対象フォルダ名 |
|---|---|
| user | ユーザフォルダ(個人フォルダ) |
| group | グループフォルダ(共有フォルダ) |
| db | データベース |
| repos | リポジトリ(検索) |
| adm | 管理者 |
| adm-user | ユーザ |
| adm-group | グループ |
| adm-sql | SQL |
| adm-stat | 統計情報 |
| adm-dbms | DBMS |
| adm-update | クライアント更新 |
| adm-db-test | データベース(テスト用) |
| adm-msg | メッセージ |
| simple-user | 複合パラメータ:db、repos、adm の 3 つを指定したのと同じ効果 |
| simple-user-non-private | 複合パラメータ:user、db、repos、adm の 4 つを指定したのと同じ効果 |
| simple-admin | 複合パラメータ:db、repos、adm-sql、adm-dbms、adm-db-test の 5 つを指定したのと同じ効果 |
※3:更新時のパラメータ指定方法
新規作成では、必要なパラメータをすべて指定する必要があります。省略可能なオプションを省略した場合はデフォルト値が適用されます。
更新でも基本的には変更するパラメータを指定しますが、-s を付けると、指定しなかったパラメータは現在の値のまま更新できます。
※4:-2 の注意事項
このパラメータを付けた場合は、-i で指定したユーザ ID を -2 で指定したユーザ ID に変更するだけです。その他のパラメータはすべて無視されます。
実行例¶
(例1)ユーザ ID「user1」、パスワード「pass1」、名称「ユーザ1」を作成する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M add -p pass1 -n ユーザ1 -a RW -b on
アクセス権限は RW、公開権限あり、コメントなし、有効期限なし、ファイル数・サイズ制限なし、所属グループなし、制限フォルダなし、メールアドレスなしの一般ユーザが作成されます。
(例2)ユーザ ID「user2」、パスワード「pass2」、名称「xxxさま」、メールアドレス「[email protected]」、所属グループ「test」の読み取り専用の一般ユーザを作成する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user2 -M add -p pass2 -n "xxxさま" -m "[email protected]" -g test -a RO -z normal
(例3)ユーザ ID「user3」、パスワード「pass3」、名称「xxx印刷」、所属グループ「test」で、ユーザフォルダにアクセスさせない一般ユーザ(RW、公開可)を作成する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user3 -M add -p pass3 -n "xxx印刷" -g test -a RW -b on -z normal -l "user"
(例4)ユーザ ID「user1」のパスワードを「pass11」に変更する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M update -p pass11 -s -a RW
(例5)ユーザ ID「user1」を削除する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M delete
(例6)ユーザ「user1」の情報を表示する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M view
出力例:
Name : ユーザ1
UserID : user1
PassWord : **********
MailAddress :
Resources : 0 / 0
Strorages : 0 / 0
User Type : General User
Status : Active
AccessAuthority : Read/Write Public
Maxcreationuser :
Valid until : Unlimited
Owner Name :
Owner ID :
AllowHosts : 192.168.0.1,172.16.0.0/16
Limited Zone :
Created : Fri Aug 11 04:20:45 2006
Lastmodified : Fri Aug 11 04:20:45 2006
Comment :
Available Group : test
(例7)ユーザ「user1」の情報を XML で出力する(DTD は 付録 を参照)
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M view -O xml
出力例:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<TF:userinformation xmlns:TF="http://www.teamfile.com/DTD/TF/">
<TF:user>
<TF:userid>
<![CDATA[user1]]>
</TF:userid>
<TF:name>
<![CDATA[ユーザ1]]>
</TF:name>
<TF:password>
<![CDATA[pass1]]>
</TF:password>
<TF:mailaddr/>
<TF:usedstorage>0</TF:usedstorage>
<TF:maxstorage>0</TF:maxstorage>
<TF:usedresource>0</TF:usedresource>
<TF:maxresource>0</TF:maxresource>
<TF:usertype>
<TF:normal/>
</TF:usertype>
<TF:state>
<TF:active/>
</TF:state>
<TF:user-privilege>
<TF:readwrite/>
<TF:set-view/>
</TF:user-privilege>
<TF:expiration/>
<TF:creationdt>2006-08-10T19:20:45Z</TF:creationdt>
<TF:updatedt>2006-08-10T19:20:45Z</TF:updatedt>
<TF:comment/>
<TF:maxcreationuser/>
<TF:ownername/>
<TF:ownerid/>
<TF:allowhosts>192.168.0.1,172.16.0.0/16</TF:allowhosts>
<TF:availablegroup>
<TF:group>
<TF:groupid>00000393</TF:groupid>
<TF:name>
<![CDATA[test]]>
</TF:name>
</TF:group>
</TF:availablegroup>
</TF:user>
</TF:userinformation>
(例8)ユーザ ID「user1」を「user2」に変更する
pkusr -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i user1 -M update -2 user2
pkgrp(グループ管理)¶
用途¶
- 新しいグループの作成(ユーザを所属させることもできます)
- グループの編集
- グループの削除
- グループ情報の取得
グループの新規作成(-M add)¶
| パラメータ | 説明 |
|---|---|
| -a | アクティブ [ active / inactive ] |
| -b | グループ制約(カンマ区切り)[ write / showproperty / operationlog ] |
| -i | グループ名 |
| -c | グループにつけるコメント |
| -f | グループに初めから登録するフォルダ ※1 |
| -l | グループオーナーを指定する(-l userid is groupleader) |
| -m | -i で指定したグループのオーナーを解任する |
| -w | メール監視(カンマ区切り)[ get / put / delete / copy / move ] ※3 |
| -u | このグループに所属させるユーザ(カンマ区切り) |
グループの更新(-M update)¶
| パラメータ | 説明 |
|---|---|
| -a | アクティブ [ active / inactive ] |
| -b | グループ制約(カンマ区切り)[ write / showproperty / operationlog ] |
| -i | グループ名(必須) |
| -c | グループにつけるコメント ※2 |
| -l | グループオーナーを指定する(-l userid is groupleader) |
| -m | -i で指定したグループのオーナーを解任する |
| -n | 新しいグループ名(グループ名を変更する場合は必須) |
| -w | メール監視(カンマ区切り)[ get / put / delete / copy / move ] ※2 ※3 |
| -u | このグループに所属させるユーザ(カンマ区切り)※2 |
| -s | 指定されていないパラメータはサーバーの値を利用する ※2 |
グループの削除(-M delete)¶
| パラメータ | 説明 |
|---|---|
| -i | 削除対象のグループ名 |
| -q | 強制削除 |
グループ情報の表示(-M view)¶
| パラメータ | 説明 |
|---|---|
| -i | 情報を表示するグループ名 |
| -d | グループ内部コード(数字) |
| -h | 所属ユーザ一覧(低速) |
注意事項¶
※1:フォルダ作成オプション
グループの作成と同時に、任意のフォルダをグループフォルダの直下に作成できます。作成するには -f オプションを利用します。
なお、-f を利用して作成したグループは、指定したフォルダを手動で削除するか、-q オプションを付けた強制削除を行わない限り、グループを削除できません。
※2:省略されたパラメータの扱い
基本的に pkusr と同じです。-s があれば現在の値を、無ければデフォルト値で更新します。
※3:メール監視の値
| 値 | 意味と動作 |
|---|---|
| get | ファイルの取得動作をメール監視する |
| put | ファイルのアップロード動作をメール監視する |
| delete | ファイル・フォルダの削除動作をメール監視する |
| copy | ファイル・フォルダのコピー動作をメール監視する |
| move | ファイル・フォルダの移動動作をメール監視する(名称変更は監視されません) |
実行例¶
(例1)グループ名「group01」、メール監視は「取得」と「登録」、ユーザ「user2」が所属するグループを作成する
pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i group01 -M add -w "get,put" -u user2
(例2)グループ名を「group01」から「group001」に変更する
pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i group01 -M update -n group001 -s
(例3)グループ「group01」を削除する
pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i group01 -M delete
(例4)グループ「group01」の情報を表示する
pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i group01 -M view
出力例:
GroupName : group01
GroupID : 00000400
Created : Fri Aug 11 04:56:13 2006
Lastmodified : Fri Aug 11 04:56:13 2006
Comment :
MailWatch : GET PUT
Available User : xxx印刷
(例5)グループ「group01」の情報を XML で出力する(DTD は 付録 を参照)
pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i group01 -M view -O xml
出力例:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<TF:groupinformation xmlns:TF="http://www.teamfile.com/DTD/TF/">
<TF:group>
<TF:groupid>
<![CDATA[00000400]]>
</TF:groupid>
<TF:name>
<![CDATA[group01]]>
</TF:name>
<TF:creationdt>2006-08-10T19:56:13Z</TF:creationdt>
<TF:updatedt>2006-08-10T19:56:13Z</TF:updatedt>
<TF:comment/>
<TF:groupmailwatch>
<TF:triggermethod>GET PUT</TF:triggermethod>
</TF:groupmailwatch>
<TF:groupuri>
<![CDATA[/divy/Group Folder/group01/]]>
</TF:groupuri>
<TF:constraints>
<TF:operationlog/>
<TF:showproperty/>
</TF:constraints>
<TF:state>
<TF:active/>
</TF:state>
<TF:availableuser>
<TF:user>
<TF:userid>takehara</TF:userid>
<TF:name>
<![CDATA[xxx印刷]]>
</TF:name>
<TF:mailaddr>
<![CDATA[[email protected]]]>
</TF:mailaddr>
</TF:user>
</TF:availableuser>
</TF:group>
</TF:groupinformation>
(例6)自分が所属するすべてのグループの所属ユーザを表示する
pkgrp -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -i * -M view -h
出力例:
"経理部会計課","administrator(root)","田中(tanaka)"
"営業部","田中(tanaka)","上野(ueno)"
pkstat(ステータス管理)¶
用途¶
- TeamFile のユーザのステータス表示
パラメータ¶
-M view と組み合わせて使用します。
| パラメータ | 説明 |
|---|---|
| -h | 出力内容 [ list | count | warning | notice ] |
| -l | 警告とするストレージ使用率(%)(例:-l 95)(デフォルト:95) |
-h の値は次のとおりです。
| 値 | 内容 |
|---|---|
| list | ユーザの一覧を表示します。-O xml と一緒に利用すると XML で出力されます。 |
| count | 各種集計を行います。 |
| warning | ストレージの容量が溢れそうなユーザを表示します。 |
| notice | メールアドレスが存在しないユーザや、-l で決めたリミットに到達しているユーザを表示します。 |
実行例¶
(例1)全ユーザの一覧を取得する
pkstat -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -M view -h list
(例2)全ユーザの一覧を XML で取得する
pkstat -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -M view -O xml -h list
(例3)アカウントの集計を行う
pkstat -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -M view -O xml -h count
(例4)問題がある可能性のあるユーザを表示する
pkstat -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -M view -O xml -h warning
pkput(ファイルのアップロード)¶
パラメータ¶
| パラメータ | 説明 |
|---|---|
| -d | アップロード対象とするファイルの更新日時を指定する(YYYY/mm/dd HH:MM:ss) |
| -1 | -f で指定したファイルだけをアップロードする(再帰しない) |
| -t | アップロード先のターゲット URI |
| -f | ファイルまたはフォルダ(例:file1 file2 dir) このパラメータは pkput の最後の引数として指定してください |
-t はアップロード先を指定します。
例えば対象のホストが http://aaa.bbb.com/aaaa/ で、自分のユーザフォルダ(例:root ユーザ)にアップロードする場合は次のようになります。
-H http://aaa.bbb.com/aaaa/ -t root
-d を指定すると、アップロード対象を更新日時で限定できます。
例えば 2014 年 1 月 1 日 00 時以降に更新されたファイルだけをアップロードする場合は -d "2014/01/01 00:00:00" と指定します。間に空白が入るため、ダブルクォートで囲んでください。
-f にフォルダを指定した場合は、その配下をすべてアップロードします。
実行例¶
(例1)ローカルのファイルをアップロードする
pkput -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t ターゲットURI -f フォルダパス
(例2)ローカルのファイルをグループ「AAAA」にアップロードする
pkput -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t "Group Folder/AAAA" -f フォルダパス
半角スペースを含む場合は、必ずダブルクォートで囲んでください。
出力結果:
OK /CVS
OK /CVS/Root
OK /CVS/Repository
OK /CVS/Entries
OK- /projects
OK- /projects/CVS
SKIP /projects/abcd.txt
出力結果には次の 4 種類があります。
| 表示結果 | 意味 |
|---|---|
| OK | アップロードに成功した |
| OK- | 既にサーバーにファイルがあり、上書きした |
| FAIL | アップロードでエラーが発生した |
| SKIP | -d で指定した日時より前のファイルのため、処理をスキップした |
pkget(ファイルのダウンロード)¶
パラメータ¶
| パラメータ | 説明 |
|---|---|
| -m | リソースを移動する(ダウンロード後にサーバーから削除) |
| -o | ダウンロード先のローカルパス(デフォルト:カレントディレクトリ) |
| -t | ターゲット URI |
| -1 | 階層を辿らない |
-1 を指定した場合、-t がファイルであればそのファイルのみ、フォルダであればそのフォルダ直下のみを取得します。
実行例¶
(例1)自分のユーザフォルダ(例:ユーザ名 test)にあるファイルをすべてダウンロードする
pkget -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t "test" -o ./
(例2)ルート直下をすべてダウンロードする
pkget -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t / -o ./
(例3)root フォルダ直下のみをダウンロードし、階層を辿らない
pkget -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t root/ -o ./ -1
Warning
pkget でダウンロードできるのは、-U で指定したユーザが閲覧可能なフォルダだけです。管理者(例えば root ユーザ)であっても、他のユーザのプライベートなフォルダは閲覧できません。グループフォルダも所属していなければ取得できません。すべてのユーザ、すべてのグループのファイルを一括でダウンロードすることはできません。
pklist(ファイルの一覧取得)¶
パラメータ¶
| パラメータ | 説明 |
|---|---|
| -a | ドットで始まるエントリも表示する |
| -l | 詳細フォーマットで表示する |
| -t | ターゲット URI |
| -1 | 1 行に 1 ファイルずつ表示する |
実行例¶
(例1)ログインしたトップロケーションの一覧を取得する
pklist -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/
(例2)詳細に表示する(Unix の ls -l に似た表示になります)
pklist -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -l
(例3)URL だけを表示する(ls -1 に似た表示になります)
pklist -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -1
pkdel(ファイルの削除)¶
パラメータ¶
| パラメータ | 説明 |
|---|---|
| -g | 削除を実行する |
| -r | 再帰的に検索する |
| -t | ターゲット URI |
| -x | 正規表現で対象を絞り込む(文字列) |
-gを付けないと実際の削除は行われず、対象の一覧を表示するだけです。-rを付けると、再帰的に検索して対象のファイルを削除します。-xには正規表現を指定します。例えば root 配下の txt ファイルだけを削除する場合はroot/.*\.txt$のように指定します。
Info
正規表現は PCRE を利用しており、Perl の正規表現と同じ動作です。
Warning
データを消去するツールのため、-g オプションがなければ実際の削除は行われず、一覧を表示して終了します。まず -g なしで対象を確認してから実行してください。
実行例¶
(例1)ファイルを 1 つ削除する
pkdel -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t root/aaa.txt -g
(例2)フォルダを削除する(配下もすべて削除されます)
pkdel -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t root/folder/ -g
(例3)root 配下にある PDF ファイルだけを削除する
pkdel -U (管理者ID) -P (管理者パスワード) -H http://(ホスト名)/(ロケーション名)/ -t root -x ".*\.pdf$" -r -g
エラーコード一覧¶
コマンドの実行中にエラーが発生した場合は、その結果をコマンドの戻り値として呼び出し元のプログラムに返します。エラーコードに応じたリカバリー処理を行ってください。
| エラーコード | エラー内容・リカバリー方法 |
|---|---|
| 0 | 正常終了 |
| 1 | 正常終了だが 0 の正常とは異なる(コマンドごとに異なります) |
| 10 | エンコードエラーが発生した。入力された文字のエンコードが正しいかどうか確認してください |
| 11 | 引数または環境変数のホスト名が省略された |
| 12 | URI に含まれるポート番号部分が不正 |
| 13 | -U パラメータで管理者ユーザのユーザ ID が指定されていない |
| 14 | -P パラメータで管理者ユーザのパスワードが指定されていない。またはユーザ更新時に -p で更新ユーザのパスワードが指定されていない。-p を省略するには -s が必要です |
| 15 | -i パラメータで処理対象のユーザ ID が指定されていない(pkusr) |
| 16 | ユーザの更新処理で -n パラメータが省略された。省略するには -s が必要です |
| 17 | -z パラメータに指定されたユーザの種類が正しくない。admin、normal、limited、groupleader のいずれかを指定してください(pkusr) |
| 18 | 同時に指定できないパラメータが指定された。-z(ユーザの種類)と -k(管理者権限)が同時に使用された場合は -z のみを使用してください(pkusr) |
| 19 | 制限ユーザに公開権限を付けようとした。ユーザの種類を変えるか、-b を除いて公開権限を与えないようにしてください(pkusr) |
| 20 | 入力されたパラメータが不正。必須パラメータが省略されていないか確認してください |
| 21 | ユーザ情報の表示で、-U または -P に指定した管理者のユーザ ID またはパスワードに誤りがあった(pkusr) |
| 22 | プロキシ認証に失敗した。プロキシ関連のパラメータを確認してください |
| 23 | 正規表現の構文エラー(pkdel) |
| 50 | ホストが見つからない |
| 51 | ユーザ情報の表示で、-i で指定したユーザが存在しなかった(pkusr) |
| 52 | ユーザ情報の表示で -v(チェックモード)を指定した際、-i で指定したユーザが既に期限切れだった。ユーザ状態のチェック用のステータスコードです(pkusr) |
| 53 | ユーザ情報の表示で -v(チェックモード)を指定した際、-i で指定したユーザが非アクティブだった。ユーザ状態のチェック用のステータスコードです(pkusr) |
| 54 | ユーザが既に存在していた(pkusr) |
| 55 | ユーザを削除できなかったため、ユーザを非アクティブにした。ユーザは削除されていません(pkusr) |
| 60 | ファイルが存在しない |
| 61 | アクセスが拒否された |
| 70 | 指定したグループ名のグループが存在しなかった。-i パラメータに指定したグループ名を確認してください(pkgrp) |
| 71 | グループの削除に失敗した。多くの場合、対象グループフォルダの中にファイルやフォルダ、ロックが残っているためです。手動で削除してから再試行してください(pkgrp) |
| 72 | 対象のグループに既にオーナーが存在した。1 つのグループには 1 人のオーナーしか指定できません。既存のオーナーを解任してから再度指定してください(pkgrp) |
| 73 | ユーザの所属解除に失敗した。グループリーダーがそのグループのオーナーになっている可能性があります。オーナーを解除してから再試行してください(pkgrp) |
| 74 | グループが既に存在していた(pkgrp) |
| 80 | -f で指定した初期フォルダの作成に失敗した(pkgrp) |
| 81 | (廃止)グループまたはユーザの削除に失敗した |
| 82 | 親フォルダが存在しなかった |
| 83 | ダウンロードフォルダが存在しない(pkget) |
| 99 | 予期しない理由によりコマンドの実行に失敗した |
| 999 | (廃止)コマンドラインツールの有効期限が切れた |
トラブルシュート¶
ユーザ・グループを作成できない¶
多くの場合、入力パラメータの誤りです。エラーコード一覧 に従って入力内容を確認してください。その他、以下の要因も考えられます。
- ネットワーク障害等が発生している場合は、異常を示すエラーコードが報告されます。外部環境を調査してください。
- 入力した文字のエンコードが正しいか確認してください。
作成したユーザもしくはグループが削除できない¶
ユーザフォルダやグループフォルダの中にファイルやフォルダがある場合に発生します。-q フラグを追加して強制削除してください。
Usage が表示されて動作しない¶
Usage メッセージが表示されるのは、コマンドライン引数の問題です。必須パラメータの省略、同時に指定できないパラメータの指定、引数の順番の誤り(pkput の -f は最後に指定)などが考えられます。引数を見直してください。
付録:出力 XML の DTD¶
pkusr 及び pkgrp は、情報表示の結果を XML として標準出力に出力できます(-M view -O xml)。外部プログラムでユーザ情報やグループ情報を扱う際に利用してください。
| 項目 | 値 |
|---|---|
| ネームスペース URI | http://www.teamfile.com/DTD/TF/(変更不可) |
| ネームスペースプレフィックス | TF(変更不可) |
| 文字エンコーディング | UTF-8(他のエンコーディングには変更できません) |
ユーザ情報の DTD¶
<!ELEMENT userinformation (user) >
<!ELEMENT user (userid, name, password, mailaddr, usedstorage,
maxstorage, usedresource, maxresource, usertype,
state, user-privilege, accessdeny?, expiration,
creationdt, updatedt, comment, maxcreationuser ,
ownername, ownerid, otheruser, availablegroup) >
<!ELEMENT userid (#PCDATA) > ; ユーザID
<!ELEMENT name (#PCDATA) > ; ユーザ名称
<!ELEMENT password (#PCDATA) > ; パスワード
<!ELEMENT mailaddr (#PCDATA) > ; メールアドレス
<!ELEMENT usedstorage (#PCDATA) > ; 対象ユーザが使用中のDiskサイズ
<!ELEMENT maxstorage (#PCDATA) > ; 対象ユーザの契約Diskサイズ
<!ELEMENT usedresource (#PCDATA) > ; 対象ユーザが格納しているファイル数
<!ELEMENT maxresource (#PCDATA) > ; 対象ユーザが格納可能なファイル数
<!ELEMENT usertype (admin | normal | limited) > ; ユーザの種類
<!ELEMENT admin EMPTY > ; 管理者ユーザ
<!ELEMENT normal EMPTY > ; 一般ユーザ
<!ELEMENT limited EMPTY > ; 制限ユーザ
<!ELEMENT state(active | inactive) >
<!ELEMENT active EMPTY > ; アクティブであることを示す
<!ELEMENT inactive EMPTY > ; 非アクティブであることを示す
<!ELEMENT user-privilege ((readwrite | upload | read), set-view? ) >
<!ELEMENT readwrite EMPTY > ; 読み書き可能
<!ELEMENT upload EMPTY > ; アップロード専用
<!ELEMENT read EMPTY > ; 読み込み専用
<!ELEMENT set-view EMPTY > ; 公開権限あり
<!ELEMENT accessdeny (#PCDATA) > ; アクセスが禁止されたフォルダ名の一覧
<!ELEMENT expiration (#PCDATA) > ; 有効期限、ISO8601形式
<!ELEMENT creationdt (#PCDATA) > ; 作成日時、ISO8601形式
<!ELEMENT updatedt (#PCDATA) > ; 更新日時、ISO8601形式
<!ELEMENT comment (#PCDATA) > ; コメント
<!ELEMENT maxusercreation (#PCDATA) > ; 管理できるユーザ数の上限
<!ELEMENT ownername (#PCDATA) > ; 管理しているユーザのユーザ名
<!ELEMENT ownerid (#PCDATA) > ; 管理しているユーザのユーザID
<!ELEMENT otheruser EMPTY > ; 表示されたユーザが他ユーザかどうか
<!ELEMENT availablegroup (group)+ > ; 所属グループの情報
<!ELEMENT group (groupid, name) > ; 1つのグループ情報
<!ELEMENT groupid (#PCDATA) > ; 対象グループを一意に識別する内部ID
<!ELEMENT name (#PCDATA) > ; 対象グループの名称
グループ情報の DTD¶
<!ELEMENT groupinformation (group)+ >
<!ELEMENT group (groupid, name, creationdt, updatedt, comment, groupmailwatch,
groupuri, constraints, ownername, ownerid, state, availableuser)
<!ELEMENT groupid (#PCDATA) > ; 対象グループを一意に識別する内部ID
<!ELEMENT name (#PCDATA) > ; 対象グループの名称
<!ELEMENT creationdt (#PCDATA) > ; 作成日時、ISO8601形式
<!ELEMENT updatedt (#PCDATA) > ; 更新日時、ISO8601形式
<!ELEMENT comment (#PCDATA) > ; コメント
<!ELEMENT groupmailwatch (triggermethod) > ; グループのメール監視状態
<!ELEMENT triggermethod (#PCDATA) > ; 監視対象アクションの種類
<!ELEMENT groupuri (#PCDATA) > ; グループフォルダの相対URI
<!ELEMENT constraints (write?, operationlog?, showproperty?) >
<!ELEMENT write EMPTY > ; 書き込み制約を示す
<!ELEMENT operationlog EMPTY > ; 操作ログ制約を示す
<!ELEMENT showproperty EMPTY > ; プロパティ表示制約を示す
<!ELEMENT ownername (#PCDATA) > ; グループリーダのユーザ名
<!ELEMENT ownerid (#PCDATA) > ; グループリーダのユーザID
<!ELEMENT state (active | inactive) >
<!ELEMENT active EMPTY > ; アクティブであることを示す
<!ELEMENT inactive EMPTY > ; 非アクティブであることを示す
<!ELEMENT availableuser (user)+ > ; 対象グループに所属するユーザの情報
<!ELEMENT userid (#PCDATA) > ; 所属ユーザのユーザID
<!ELEMENT name (#PCDATA) > ; 所属ユーザのユーザ名称
<!ELEMENT mailaddr (#PCDATA) > ; 所属ユーザのメールアドレス