@pnp/cli-microsoft365 5.9.0-beta.bc3200c → 5.9.0-beta.fd24b4e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +2 -0
- package/dist/appInsights.js +2 -0
- package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +75 -0
- package/dist/m365/pp/commands/solution/Solution.js +3 -0
- package/dist/m365/pp/commands/solution/solution-list.js +87 -0
- package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
- package/dist/m365/pp/commands.js +4 -1
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
- package/dist/m365/spfx/commands/spfx-doctor.js +52 -7
- package/dist/m365/spo/commands/file/file-copy.js +25 -39
- package/dist/m365/spo/commands/file/file-move.js +24 -37
- package/dist/m365/spo/commands/file/file-rename.js +19 -16
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
- package/dist/m365/spo/commands.js +4 -0
- package/dist/utils/cache.js +81 -0
- package/dist/utils/pid.js +57 -0
- package/dist/utils/powerPlatform.js +42 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
- package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
- package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
- package/docs/docs/cmd/spfx/spfx-doctor.md +10 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
- package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +1 -1
- package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
- package/npm-shrinkwrap.json +342 -357
- package/package.json +20 -18
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cache = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const os = require("os");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const config_1 = require("../config");
|
|
8
|
+
const cacheFolderPath = path.join(os.tmpdir(), config_1.default.configstoreName.replace('config', 'cache'));
|
|
9
|
+
const mkdirOptions = { mode: 0o0700, recursive: true };
|
|
10
|
+
exports.cache = {
|
|
11
|
+
cacheFolderPath: cacheFolderPath,
|
|
12
|
+
getValue(key) {
|
|
13
|
+
this.clearExpired();
|
|
14
|
+
try {
|
|
15
|
+
const cacheFilePath = path.join(cacheFolderPath, key);
|
|
16
|
+
if (!fs.existsSync(cacheFilePath)) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return fs.readFileSync(cacheFilePath, 'utf8');
|
|
20
|
+
}
|
|
21
|
+
catch (_a) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
setValue(key, value) {
|
|
26
|
+
this.clearExpired();
|
|
27
|
+
try {
|
|
28
|
+
fs.mkdirSync(cacheFolderPath, mkdirOptions);
|
|
29
|
+
const cacheFilePath = path.join(cacheFolderPath, key);
|
|
30
|
+
// we don't need to wait for the file to be written
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
32
|
+
fs.writeFile(cacheFilePath, value, () => { });
|
|
33
|
+
}
|
|
34
|
+
catch (_a) { }
|
|
35
|
+
},
|
|
36
|
+
clearExpired(cb) {
|
|
37
|
+
// we don't need to wait for this to complete
|
|
38
|
+
// even if it stops meanwhile, it will be picked up next time
|
|
39
|
+
fs.readdir(cacheFolderPath, (err, files) => {
|
|
40
|
+
if (err) {
|
|
41
|
+
if (cb) {
|
|
42
|
+
cb();
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const numFiles = files.length;
|
|
47
|
+
if (numFiles === 0) {
|
|
48
|
+
if (cb) {
|
|
49
|
+
cb();
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
files.forEach((file, index) => {
|
|
54
|
+
fs.stat(path.join(cacheFolderPath, file), (err, stats) => {
|
|
55
|
+
if (err || stats.isDirectory()) {
|
|
56
|
+
if (cb && index === numFiles - 1) {
|
|
57
|
+
cb();
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// remove files that haven't been accessed in the last 24 hours
|
|
62
|
+
if (stats.atime.getTime() < Date.now() - 24 * 60 * 60 * 1000) {
|
|
63
|
+
// we don't need to wait for the file to be deleted
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
65
|
+
fs.unlink(path.join(cacheFolderPath, file), () => {
|
|
66
|
+
if (cb && index === numFiles - 1) {
|
|
67
|
+
cb();
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
if (cb && index === numFiles - 1) {
|
|
73
|
+
cb();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pid = void 0;
|
|
4
|
+
const os = require("os");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
const cache_1 = require("./cache");
|
|
8
|
+
function getProcessNameOnMacOs(pid) {
|
|
9
|
+
const stdout = (0, child_process_1.execSync)(`ps -o comm= ${pid}`, { encoding: 'utf8' });
|
|
10
|
+
return stdout.trim();
|
|
11
|
+
}
|
|
12
|
+
function getProcessNameOnLinux(pid) {
|
|
13
|
+
if (!fs.existsSync(`/proc/${pid}/stat`)) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const stat = fs.readFileSync(`/proc/${pid}/stat`, 'utf8');
|
|
17
|
+
const start = stat.indexOf('(');
|
|
18
|
+
const procName = stat.substring(start + 1, stat.indexOf(')') - start);
|
|
19
|
+
return procName;
|
|
20
|
+
}
|
|
21
|
+
function getProcessNameOnWindows(pid) {
|
|
22
|
+
const stdout = (0, child_process_1.execSync)(`wmic PROCESS where ProcessId=${pid} get Caption | find /V "Caption"`, { encoding: 'utf8' });
|
|
23
|
+
return stdout.trim();
|
|
24
|
+
}
|
|
25
|
+
exports.pid = {
|
|
26
|
+
getProcessName(pid) {
|
|
27
|
+
let processName = cache_1.cache.getValue(pid.toString());
|
|
28
|
+
if (processName) {
|
|
29
|
+
return processName;
|
|
30
|
+
}
|
|
31
|
+
let getPidName = undefined;
|
|
32
|
+
const platform = os.platform();
|
|
33
|
+
if (platform.indexOf('win') === 0) {
|
|
34
|
+
getPidName = getProcessNameOnWindows;
|
|
35
|
+
}
|
|
36
|
+
if (platform === 'darwin') {
|
|
37
|
+
getPidName = getProcessNameOnMacOs;
|
|
38
|
+
}
|
|
39
|
+
if (platform === 'linux') {
|
|
40
|
+
getPidName = getProcessNameOnLinux;
|
|
41
|
+
}
|
|
42
|
+
if (getPidName) {
|
|
43
|
+
try {
|
|
44
|
+
processName = getPidName(pid);
|
|
45
|
+
if (processName) {
|
|
46
|
+
cache_1.cache.setValue(pid.toString(), processName);
|
|
47
|
+
}
|
|
48
|
+
return processName;
|
|
49
|
+
}
|
|
50
|
+
catch (_a) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=pid.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.powerPlatform = void 0;
|
|
13
|
+
const request_1 = require("../request");
|
|
14
|
+
const powerPlatformResource = 'https://api.bap.microsoft.com';
|
|
15
|
+
exports.powerPlatform = {
|
|
16
|
+
getDynamicsInstanceApiUrl(environment, asAdmin) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
let url = '';
|
|
19
|
+
if (asAdmin) {
|
|
20
|
+
url = `${powerPlatformResource}/providers/Microsoft.BusinessAppPlatform/scopes/admin/environments/${encodeURIComponent(environment)}`;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
url = `${powerPlatformResource}/providers/Microsoft.BusinessAppPlatform/environments/${encodeURIComponent(environment)}`;
|
|
24
|
+
}
|
|
25
|
+
const requestOptions = {
|
|
26
|
+
url: `${url}?api-version=2020-10-01&$select=properties.linkedEnvironmentMetadata.instanceApiUrl`,
|
|
27
|
+
headers: {
|
|
28
|
+
accept: 'application/json;odata.metadata=none'
|
|
29
|
+
},
|
|
30
|
+
responseType: 'json'
|
|
31
|
+
};
|
|
32
|
+
try {
|
|
33
|
+
const response = yield request_1.default.get(requestOptions);
|
|
34
|
+
return Promise.resolve(response.properties.linkedEnvironmentMetadata.instanceApiUrl);
|
|
35
|
+
}
|
|
36
|
+
catch (ex) {
|
|
37
|
+
throw Error(`The environment '${environment}' could not be retrieved. See the inner exception for more details: ${ex.message}`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=powerPlatform.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# pp dataverse table list
|
|
2
|
+
|
|
3
|
+
Lists dataverse tables in a given environment
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pp dataverse table list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-e, --environment <environment>`
|
|
14
|
+
The name of the environment to list all tables for
|
|
15
|
+
|
|
16
|
+
`-a, --asAdmin`
|
|
17
|
+
Set, to retrieve the dataverse tables as admin for environments you are not a member of.
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
List all tables for the given environment
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 pp dataverse table list -e "Default-2ca3eaa5-140f-4175-8261-3272edf9f339"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
List all tables for the given environment as Admin
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 pp dataverse table list -e "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --asAdmin
|
|
33
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# pp solution list
|
|
2
|
+
|
|
3
|
+
Lists solutions in a given environment.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 pp solution list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-e, --environment <environment>`
|
|
14
|
+
The name of the environment
|
|
15
|
+
|
|
16
|
+
`-a, --asAdmin`
|
|
17
|
+
Run the command as admin for environments you do not have explicitly assigned permissions to.
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
List all solutions in a specific environment
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 pp solution list --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
List all solutions in a specific environment as Admin
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 pp solution list --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --asAdmin
|
|
33
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# pp tenant settings list
|
|
2
|
+
|
|
3
|
+
Lists the global Power Platform tenant settings
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 pp tenant settings list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
--8<-- "docs/cmd/_global.md"
|
|
14
|
+
|
|
15
|
+
## Remarks
|
|
16
|
+
|
|
17
|
+
!!! attention
|
|
18
|
+
This command is based on an API that is currently in preview and is subject to change once the API reached general availability.
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
Lists the global Power Platform settings of the tenant
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
m365 pp tenant settings list
|
|
26
|
+
```
|
|
@@ -13,6 +13,9 @@ m365 spfx doctor [options]
|
|
|
13
13
|
`-e, --env [env]`
|
|
14
14
|
: Version of SharePoint for which to check compatibility: `sp2016|sp2019|spo`
|
|
15
15
|
|
|
16
|
+
`-v, --spfxVersion [spfxVersion]`
|
|
17
|
+
: Version of the SharePoint Framework Yeoman generator to check compatibility for without `v`, eg. `1.11.0`
|
|
18
|
+
|
|
16
19
|
`-h, --help`
|
|
17
20
|
: output usage information
|
|
18
21
|
|
|
@@ -48,7 +51,7 @@ Next to verifying the readiness of your environment to use a particular version
|
|
|
48
51
|
|
|
49
52
|
## Examples
|
|
50
53
|
|
|
51
|
-
Verify if your environment meets the requirements to work with the SharePoint Framework
|
|
54
|
+
Verify if your environment meets the requirements to work with SharePoint Framework based on the globally installed version of the SharePoint Framework Yeoman generator or the current project
|
|
52
55
|
|
|
53
56
|
```sh
|
|
54
57
|
m365 spfx doctor --output text
|
|
@@ -59,3 +62,9 @@ Verify if your environment meets the requirements to work with the SharePoint Fr
|
|
|
59
62
|
```sh
|
|
60
63
|
m365 spfx doctor --env sp2019 --output text
|
|
61
64
|
```
|
|
65
|
+
|
|
66
|
+
Verify if your environment meets the requirements to work with SharePoint Framework v1.11.0
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
m365 spfx doctor --spfxVersion 1.11.0 --output text
|
|
70
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# spo file roleassignment add
|
|
2
|
+
|
|
3
|
+
Adds a role assignment to the specified file.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo file roleassignment add [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: URL of the site where the file is located
|
|
15
|
+
|
|
16
|
+
`--fileUrl [fileUrl]`
|
|
17
|
+
: The server-relative URL of the file to retrieve. Specify either `fileUrl` or `fileId` but not both
|
|
18
|
+
|
|
19
|
+
`i, --fileId [fileId]`
|
|
20
|
+
: The UniqueId (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both
|
|
21
|
+
|
|
22
|
+
`--principalId [principalId]`
|
|
23
|
+
: The SharePoint Id of the principal. It may be either a user id or group id to add a role assignment for. Specify either upn, groupName or principalId.
|
|
24
|
+
|
|
25
|
+
`--upn [upn]`
|
|
26
|
+
: upn/email of user to assign role to. Specify either upn, groupName or principalId.
|
|
27
|
+
|
|
28
|
+
`--groupName [groupName]`
|
|
29
|
+
: The group name of Azure AD or SharePoint group. Specify either upn, groupName or principalId.
|
|
30
|
+
|
|
31
|
+
`--roleDefinitionId [roleDefinitionId]`
|
|
32
|
+
: ID of role definition. Specify either roleDefinitionId or roleDefinitionName but not both
|
|
33
|
+
|
|
34
|
+
`--roleDefinitionName [roleDefinitionName]`
|
|
35
|
+
: Enter the name of a role definition, like 'Contribute', 'Read', etc. Specify either roleDefinitionId or roleDefinitionName but not both
|
|
36
|
+
|
|
37
|
+
--8<-- "docs/cmd/_global.md"
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
Adds a role assignment to a file with a specified id. It will use a principal id and a specific role definition id.
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --principalId 11 --roleDefinitionId 1073741829
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Adds a role assignment to a file with a specified site-relative URL for a specific upn and a role definition name.
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "Shared Documents/Test1.docx" --upn "testuser@tenant.onmicrosoft.com" --roleDefinitionName "Full Control"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Adds a role assignment to a file with a specified server-relative URL the for a specific group and a role definition name.
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "/sites/project-x/documents/Test1.docx" --upn "testuser@tenant.onmicrosoft.com" --roleDefinitionName "Read"
|
|
57
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# spo file roleassignment remove
|
|
2
|
+
|
|
3
|
+
Removes a role assignment from a file.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo file roleassignment remove [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: URL of the site where the file is located.
|
|
15
|
+
|
|
16
|
+
`--fileUrl [fileUrl]`
|
|
17
|
+
: The server-relative URL of the file. Specify either `fileUrl` or `fileId` but not both.
|
|
18
|
+
|
|
19
|
+
`-i, --fileId [fileId]`
|
|
20
|
+
: The UniqueId (GUID) of the file. Specify either `fileUrl` or `fileId` but not both.
|
|
21
|
+
|
|
22
|
+
`--principalId [principalId]`
|
|
23
|
+
: The SharePoint Id of the principal. It may be either a user id or group id. Specify either `upn`, `groupName`, or `principalId`.
|
|
24
|
+
|
|
25
|
+
`--upn [upn]`
|
|
26
|
+
: Upn/email of the user. Specify either `upn`, `groupName`, or `principalId`.
|
|
27
|
+
|
|
28
|
+
`--groupName [groupName]`
|
|
29
|
+
: The group name of an Azure AD or SharePoint group. Specify either `upn`, `groupName`, or `principalId`.
|
|
30
|
+
|
|
31
|
+
`--confirm [confirm]`
|
|
32
|
+
: Don't prompt for confirmation.
|
|
33
|
+
|
|
34
|
+
--8<-- "docs/cmd/_global.md"
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
Remove a role assignment by principal id from a file by id
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
m365 spo file roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --principalId 2
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Remove a role assignment by upn from a file by url
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
m365 spo file roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --fileUrl "/sites/contoso-sales/documents/Test1.docx" --upn "user1@contoso.onmicrosoft.com"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Remove a role assignment by group name from a file by id
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
m365 spo file roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --groupName "saleGroup"
|
|
54
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# spo folder roleinheritance break
|
|
2
|
+
|
|
3
|
+
Breaks the role inheritance of a folder.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo folder roleinheritance break [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: URL of the site where the folder is located.
|
|
15
|
+
|
|
16
|
+
`-f, --folderUrl <folderUrl>`
|
|
17
|
+
: The site-relative URL or server-relative URL of the folder.
|
|
18
|
+
|
|
19
|
+
`-c, --clearExistingPermissions`
|
|
20
|
+
: Clear all existing permissions from the folder.
|
|
21
|
+
|
|
22
|
+
`--confirm`
|
|
23
|
+
: Don't prompt for confirmation to breaking role inheritance of the folder.
|
|
24
|
+
|
|
25
|
+
--8<-- "docs/cmd/_global.md"
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
Break the inheritance of a folder with a specified site-relative URL.
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 spo folder roleinheritance break --webUrl "https://contoso.sharepoint.com/sites/project-x" --folderUrl "Shared Documents/TestFolder"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Break the inheritance of a folder with a specified server-relative URL. It will clear the existing permissions of the folder. It will **not** prompt for confirmation before breaking the inheritance.
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
m365 spo folder roleinheritance break --webUrl "https://contoso.sharepoint.com/sites/project-x" --folderUrl "/sites/project-x/Shared Documents/TestFolder" --clearExistingPermissions --confirm
|
|
39
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# spo folder roleinheritance reset
|
|
2
|
+
|
|
3
|
+
Restores the role inheritance of a folder.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo folder roleinheritance reset [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: URL of the site where the folder is located.
|
|
15
|
+
|
|
16
|
+
`-f, --folderUrl <folderUrl>`
|
|
17
|
+
: The site-relative URL of the folder.
|
|
18
|
+
|
|
19
|
+
`--confirm`
|
|
20
|
+
: Don't prompt for confirmation to reset role inheritance of the folder.
|
|
21
|
+
|
|
22
|
+
--8<-- "docs/cmd/_global.md"
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
Reset inheritance of folder with site-relative url _Shared Documents/TestFolder_ located in site _https://contoso.sharepoint.com/sites/project-x_.
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
m365 spo folder roleinheritance reset --webUrl "https://contoso.sharepoint.com/sites/project-x" --folderUrl "Shared Documents/TestFolder"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Reset inheritance of folder with server-relative url _/sites/project-x/Shared Documents/TestFolder_ located in site _https://contoso.sharepoint.com/sites/project-x_. It will **not** prompt for confirmation before resetting.
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
m365 spo folder roleinheritance reset --webUrl "https://contoso.sharepoint.com/sites/project-x" --folderUrl "/sites/project-x/Shared Documents/TestFolder" --confirm
|
|
36
|
+
```
|
|
@@ -11,13 +11,13 @@ m365 spo hubsite get [options]
|
|
|
11
11
|
## Options
|
|
12
12
|
|
|
13
13
|
`-i, --id [id]`
|
|
14
|
-
: ID of the
|
|
14
|
+
: ID of the hub site. Specify either `id`, `title` or `url` but not multiple.
|
|
15
15
|
|
|
16
16
|
`-t, --title [title]`
|
|
17
|
-
: Title of the
|
|
17
|
+
: Title of the hub site. Specify either `id`, `title` or `url` but not multiple.
|
|
18
18
|
|
|
19
19
|
`-u, --url [url]`
|
|
20
|
-
: URL of the
|
|
20
|
+
: URL of the hub site. Specify either `id`, `title` or `url` but not multiple.
|
|
21
21
|
|
|
22
22
|
`--includeAssociatedSites`
|
|
23
23
|
: Include the associated sites in the result (only in JSON output)
|