Administration and Reporting
Use PowerShell object pipelines for account reports and bulk administration. First connect to your site with an identity allowed to read or change the resources involved. Reports contain only the data that identity can access in the selected site and Workspace.
The installed module includes complete task scripts. After importing it, find them with:
Run Get-Help on a script's full path for its parameters. Run scripts under your organization's permitted execution
policy; the examples do not change that policy.
Export a Complete Access Inventory
Export-UserAccessInventory.ps1 lists every available page of users, group memberships and folder permissions,
then writes a CSV with direct and group-derived permissions. It replaces the output only when the export completes;
a listing failure leaves the existing file intact.
List cmdlets normally stream all pages. -First, -Page or Select-Object -First deliberately limit a listing;
leave those out when collecting a complete inventory. Pass -Connection to the script to select an explicit
connection instead of the session default.
Provision Accounts and Folder Permissions
Add-FilesProjectMember.ps1 reads a CSV with these columns:
| Column | Value |
|---|---|
Username | User to create or reuse. |
Email | Email for a new user. |
Folder | Remote project folder, including any missing parents. |
Permission | Permission accepted by New-FilesPermission. |
Preview first, then apply the reviewed batch without interactive prompts:
The preview contacts no Files.com service and cannot check what already exists. An applied run reuses existing
users, folders and matching permissions. Rows are independent: earlier changes remain if a later row fails.
Inspect Status and Error for each row, including Failed and Skipped; if you decline a confirmation, check
which changes were applied. Fix failed rows before rerunning. Returning a Failed row does not itself give the
PowerShell process a failing exit code; a scheduled caller must check results. Use -Confirm for an interactive run
that should ask before changes.
Manage Group Membership from CSV
For a CSV containing GroupId and UserId, preview additions with the generated membership cmdlet:
Replace -WhatIf with -Confirm after reviewing the target IDs. Use
Get-FilesGroupUser to inspect memberships and
Remove-FilesGroupUser for removals. For a batch that should continue
past failures, use -ErrorAction Stop inside a per-row try/catch and retain a failed outcome for each row,
as the installed provisioning script does. A bulk operation is not one transaction.
To copy every membership from an existing group instead of importing IDs, preview the destination changes:
The source listing reads all pages; -WhatIf prevents additions but still reads that source group. Review existing
destination memberships before applying, so already-present members are handled deliberately.
Review Inactive Accounts
The inventory CSV includes LastLoginAt and Disabled. For a 30-day inactivity review, compare the last login
against that cutoff. For accounts that have never logged in, check their creation date too: an empty LastLoginAt
does not establish that the account is old enough. Use your account-retention policy to review the selection before
previewing a change to a chosen user:
Review the selection before applying with -Confirm. Use
Set-FilesUser for supported account changes and pass an explicit
-Connection and -WorkspaceScope when working across sites or Workspaces. A Workspace selection never grants
additional permissions. Choosing a Connection shows the
scope pattern; Automation and Scheduled Jobs covers unattended
execution and failure reporting.