# 共有フォルダコマンド

## 概要

共有フォルダの一覧、チーム、ならびにレコード権限の変更に関するコマンドを整理し、詳細を記載しています。

1. [共有フォルダ一覧コマンド](#list-share-folder)
2. [共有フォルダ - レコード権限の変更コマンド](#share-folder-change-record-permissions-command)

## コマンド

### 共有フォルダ一覧コマンド <a href="#list-share-folder" id="list-share-folder"></a>

指定したフォルダ内、またはKeeperボルトの現在のディレクトリにある共有フォルダを一覧表示します。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `sf-list`

**例:**

```bash
My Vault> sf-list
  #  Shared Folder UID       Name                             # Records  # Users
---  ----------------------  -------------------------------  ---------  -------
  1  shared_folder_uid       Test-Shared-Folder                11         1      
```

</details>

<details>

<summary>DotNet SDK</summary>

**関数:**

```csharp
var sharedFolders = vault.SharedFolders;
```

</details>

<details>

<summary>Power Commander</summary>

**コマンド:** `Get-KeeperSharedFolder`

**フラグ:**

* `-Uid` : 共有フォルダのUID
* `-Filter` : 共有フォルダを絞り込むために使用する

**例:**

```powershell
PS> Get-KeeperSharedFolder

Uid                    Name                            DefaultManageRecords DefaultManageUsers DefaultCanEdit DefaultCanShare UserCount RecordCount
---                    ----                            -------------------- ------------------ -------------- --------------- --------- -----------
shared_folder_uid      example_new_shared_folder       True                 True               True           True                    1           1
```

</details>

<details>

<summary>Python CLI</summary>

**コマンド:** `list-sf`

**オプション:**

* `pattern` : 共有フォルダのタイトルまたはUIDのパターン
* `-h, --help` : このヘルプを表示して終了する
* `--format` : `list-sf` コマンドの出力形式を指定する。指定できる値は以下のとおり。
  * ***table:*** 表形式で出力する。既定では表形式
    * 例: `--format table`
  * ***csv:*** CSV形式で出力する
    * 例: `--format csv`
  * ***json*****&#x20;:** JSON形式で出力する
    * 例: `--format json`
* `--output` : 出力をファイルに保存する。出力形式が table (`--format table`) のときは使用しない
  * 例: `--output <file_name>`
* `--verbose, -v` : 詳細出力

**例:**

```
My Vault> list-sf
  #  Shared Folder UID       Name
---  ----------------------  -----------------------------------------
  1  shared_folder_uid       Test Example Folder
```

</details>

<details>

<summary>Python SDK</summary>

**関数:** `find_shared_folders`

```python
find_shared_folders(self, criteria: str) -> Iterable[vault_types.SharedFolderInfo]
```

**例:**

```python
shared_folders = vault.vault_data.find_shared_folders(criteria=pattern)
```

</details>

### 共有フォルダ - レコード権限の変更コマンド <a href="#share-folder-change-record-permissions-command" id="share-folder-change-record-permissions-command"></a>

共有フォルダ内のレコード権限を変更します。レコードごとに付与または取り消しが可能です。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `sf-record`

**フラグ:**

* `-r, --record` : 共有フォルダ内で共有の対象とするレコード名またはレコードUID
* `-s, --can-share` : 真偽値 (`true` または `false`)。`true` のとき共有権限あり。`false` のとき共有権限が削除されます
* `-e, --can-edit` : 真偽値 (`true` または `false`)。`true` のとき編集権限あり。`false` のとき編集権限が削除されます
* `--expire-at` : 共有の期限をISO時刻で指定: YYYY-MM-DD HH:mm:SS
* `--expire-in` : 共有の相対期限: \[N]mi|h|d|mo (分 / 時間 / 日 / 月)
* `--help` : このヘルプ画面を表示する
* `--version` : バージョン情報を表示する
* `folder name (pos. 0)` : 必須の共有フォルダ名 (位置引数 0)

**例:**

```bash
My Vault> sf-record record_uid
  #  Record Title   Record UID              Can Edit  Can Share  Expiration
---  -------------  ----------------------  --------  ---------  ----------
  1  ABC            record_uid              X         X
  2  Gmail Account  record_uid              X         X
  3  Gmail Account  record_uid              X         X

My Vault> sf-record folder_uid --record=record_uid --expire-in=30mi

My Vault> sf-record BRvqCEzmFM9rVqkmpeGs6A
  #  Record Title   Record UID              Can Edit  Can Share  Expiration
---  -------------  ----------------------  --------  ---------  ----------------
  1  ABC            record_uid              X         X          03-11-2025 18:08
  2  Gmail Account  record_uid              X         X
  3  Gmail Account  record_uid              X         X
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `ChangeRecordInSharedFolder`

```csharp
public async Task ChangeRecordInSharedFolder(string sharedFolderUid, string recordUid, IRecordShareOptions options)
```

**例:**

```csharp
await context.Vault.ChangeRecordInSharedFolder(sf.Uid, recordUid, shareOptions);
```

</details>

<details>

<summary>Power Commander</summary>

**コマンド:** **近日公開**

</details>

<details>

<summary>Python CLI</summary>

**コマンド:** `record-permission`

**パラメーター:**

* `-a`, `--action` 付与または取り消し (必須)
* `folder` 変更を適用する共有フォルダのUID (必須)

**オプション:**

* `--dry-run` コミットせずに権限の変更内容を表示する
* `--force` 確認なしで権限変更を適用する
* `-R`, `--recursive` すべてのサブフォルダに権限変更を適用する
* `--share-record` レコードの共有権限を変更する
* `--share-folder` フォルダの共有権限を変更する
* `-s`, `--can-share` レコード権限: 共有可能にする
* `-d`, `--can-edit` レコード権限: 編集可能にする
  * **--can-edit または --can-share のいずれかが必須**
* **例:**

```sh
My Vault> record-permission -a grant --share-record -s -d shared_folder_uid

Request to GRANT "Can Edit" & "Can Share" permission(s) in "my_share" folder only
```

</details>

<details>

<summary>Python SDK</summary>

**関数:**

```python
from keepersdk.vault import share_management_utils
​
result = share_management_utils.update_record_permissions(
            vault=vault,
            action=action,
            can_share=can_share,
            can_edit=can_edit,
            folder_uid_or_path=folder_uid_or_path,
            recursive=recursive,
            share_record=share_record,
            share_folder=share_folder,
            dry_run=dry_run,
            sync_after=sync_after,
        )
```

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/commander-sdk/keeper-commander-sdks/sdk-command-reference/sharing-commands/shared-folder-commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
