PEDM Collection Commands

This page gives information of commands related to perform operations related to PEDM collections

Overview

This section covers all the Keeper Commander commands for managing PEDM collections. Collections group resources such as users, machines, applications, and other entities that can be used in policy filters. These commands allow administrators to create, view, update, delete, and manage links between collections and other PEDM entities.

This section supports the following commands:

Usage

pedm collection command [--options] OR pedm c command [--options]

Alias: c


Collection List Command

View all PEDM collections with optional filtering by type or search pattern. Collections can represent various resource types including OS builds, applications, user accounts, group accounts, and custom collections.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection list

Aliases: pedm c l, pedm c list

Flags:

Flag
Description

-v, --verbose

Show detailed collection information

--type

Filter by collection type (integer)

--pattern

Search pattern for collection names

--format

Output format - json, csv, or table

--output

Save output to specified file

Example:

My Vault> pedm collection list --type 101

Collection UID: coll_abc123
Value: Name=Windows Servers
Link Count: 5
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin

plugin = admin_plugin.PedmPlugin(enterprise_loader)
plugin.collections.get_all_entities()

Collection View Command

Display detailed information about specific collections including their type, values, and associated links to agents, policies, or other collections.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection view <collection> [collection...]

Aliases: pedm c v, pedm c view

Flags:

Flag
Description

-v, --verbose

Show verbose information

--link

Show details for specific link UIDs - can be repeated

--format

Output format - json, csv, or table

--output

Save output to specified file

collection

Collection UID (required, can specify multiple)

Example:

My Vault> pedm collection view coll_abc123

Collection UID: coll_abc123
Collection Type: MACHINE (101)
Collection Value: Name=Windows Servers
Link Count: 5
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin

plugin = admin_plugin.PedmPlugin(enterprise_loader)
plugin.collections.get_entity(uid)

Collection Add Command

Create new custom collections for grouping resources. Collections can be used in policy filters to target specific sets of users, machines, or applications.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection add <collection_name> [collection_name...]

Aliases: pedm c a, pedm c add

Flags:

Flag
Description

--type

Collection type (required, integer)

collection

Collection name (required, can specify multiple)

Example:

My Vault> pedm collection add "Finance Users" "HR Users" --type 103

Collection created successfully
Collection UID: coll_new123
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin

plugin = admin_plugin.PedmPlugin(enterprise_loader)

collection: Any = ['Collection names']
collection_type = int #'Collection type'

if isinstance(collection, str):
    collection = [collection]

collections: Dict[str, admin_types.CollectionData] = {}
for c in collection:
    collection_uid = utils.generate_uid()
    collection_data = {
        'Name': c,
        'IsCustom': True
    }
    collections[collection_uid] = admin_types.CollectionData(
        collection_uid=collection_uid, collection_type=collection_type,
        collection_data=json.dumps(collection_data))

status = plugin.modify_collections(add_collections=collections.values())

Collection Update Command

Modify the name of an existing collection. This command allows administrators to update collection names without recreating them or affecting their links.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection update <collection>

Aliases: pedm c u, pedm c update

Flags:

Flag
Description

--name

New collection name (required)

--type

Collection type (optional, for disambiguation)

collection

Collection UID or name (required)

Example:

My Vault> pedm collection update coll_abc123 --name "Updated Server Group"

Collection updated successfully
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin

plugin = admin_plugin.PedmPlugin(enterprise_loader)

new_name = 'rename collection'
collection_id = 'collection name or uid'
collection = plugin.collections.get_entity(collection_id)
collection_info = collection.collection_data
collection_info['Name'] = new_name
collection_data = admin_types.CollectionData(
    collection_uid=collection.collection_uid, collection_type=collection.collection_type,
    collection_data=json.dumps(collection_info))

status = plugin.modify_collections(update_collections=[collection_data])

Collection Delete Command

Remove one or more collections from the system. This command supports deleting specific collections or using special values like @orphan_resource to clean up orphaned resource collections.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection delete <collection> [collection...]

Aliases: pedm c delete

Flags:

Flag
Description

-f, --force

Do not prompt for confirmation

collection

Collection UID or name, or @orphan_resource (required, can specify multiple)

Examples:

My Vault> pedm collection delete coll_old123 --force

Collection deleted successfully
My Vault> pedm collection delete @orphan_resource

Do you want to remove 3 collection(s)? (y/N): y
Collections deleted successfully
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin

plugin = admin_plugin.PedmPlugin(enterprise_loader)

collection_id = 'collection name or uid'
collection = plugin.collections.get_entity(collection_id)

uids = [collection.uid]
status = plugin.modify_collections(remove_collections=uids)

Collection Connect Command

Link entities (agents, policies, or other collections) to a collection. This command establishes relationships between collections and PEDM entities for policy filtering and organisation.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection connect <links> [links...]

Aliases: pedm c connect

Flags:

Flag
Description

-c, --collection

Parent collection UID or name (required)

--link-type

Type of link - agent, policy, or collection (required)

links

Link UIDs or names (required, can specify multiple)

Example:

My Vault> pedm collection connect agent_abc123 agent_def456 --collection coll_servers --link-type agent

Links created successfully
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin, admin_types
from keepersdk.proto import pedm_pb2

plugin = admin_plugin.PedmPlugin(enterprise_loader)

collection_id = 'collection name or uid'
collection = plugin.collections.get_entity(collection_id)


link_types = ['agent', 'policy', 'collection']
link_type = link_types[0]
link_name = 'link name or uid'

links: List[str] = []
collection_link_type: int
if link_type == 'collection':
    coll_links = plugin.collections.get_entity(link_name)
    links.extend((x.collection_uid for x in coll_links))
    collection_link_type = pedm_pb2.CLT_COLLECTION
elif link_type == 'agent':
    agent = plugin.agents.get_entity(link_name)
    links.append(agent.agent_uid)
    collection_link_type = pedm_pb2.CLT_AGENT
elif link_type == 'policy':
    pol_links = plugin.policies.get_entity(link_name)
    links.extend((x.policy_uid for x in pol_links))
    collection_link_type = pedm_pb2.CLT_POLICY

to_add = [admin_types.CollectionLink(
    collection_uid=collection.collection_uid, link_uid=x, link_type=collection_link_type) for x in links]

status = plugin.set_collection_links(set_links=to_add)

Collection Disconnect Command

Remove links between a collection and its associated entities. This command unlinks agents, policies, or collections from a parent collection without deleting the entities themselves.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection disconnect <links> [links...]

Aliases: pedm c disconnect

Flags:

Flag
Description

-c, --collection

Parent collection UID or name (required)

-f, --force

Do not prompt for confirmation

links

UIDs to unlink (required, can specify multiple)

Example:

My Vault> pedm collection disconnect agent_abc123 --collection coll_servers --force

Links removed successfully
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin, admin_types

plugin = admin_plugin.PedmPlugin(enterprise_loader)

collection_id = 'collection name or uid'
collection = plugin.collections.get_entity(collection_id)

existing_links= list(x for x in plugin.storage.collection_links.get_links_by_subject(collection.collection_uid))
links: Any = ['UIDs to unlink']
to_unlink: Set[str] = set(links)

to_remove: List[admin_types.CollectionLink] = []
for link in existing_links:
    link_uid = link.link_uid
    if link_uid in to_unlink:
        to_remove.append(admin_types.CollectionLink(
            collection_uid=collection.collection_uid,
            link_uid=link_uid,
            link_type=link.link_type)
        )

status = plugin.set_collection_links(unset_links=to_remove)

Collection Wipe Out Command

Remove all collections of a specified type from the system. This command is useful for bulk cleanup operations but should be used with caution as it permanently deletes multiple collections.

DotNet CLI

Command: Coming Soon

DotNet SDK

Function: Coming Soon

Power Commander

Command: Coming Soon

Python CLI

Command: pedm collection wipe-out

Aliases: pedm c wipe-out

Flags:

Flag
Description

--type

Collection type to wipe out (integer)

Example:

My Vault> pedm collection wipe-out --type 102

All collections of type 102 deleted
Python SDK

Function:

from keepersdk.plugins.pedm import admin_plugin, admin_types

plugin = admin_plugin.PedmPlugin(enterprise_loader)

collection_type = 10 #collection type upto 100
if isinstance(collection_type, int):
    collection_type = [collection_type]
collections: List[str] = []
for coll in plugin.storage.collections.get_all_entities():
    if collection_type and coll.collection_type not in collection_type:
        continue
    collections.append(coll.collection_uid)

plugin.modify_collections(remove_collections=collections)

Last updated

Was this helpful?