Logo

Documentation home for Transend tools

Import-M365Sites

SYNOPSIS

Imports sites into a Microsoft 365 tenant.

SYNTAX

Help

Import-M365Sites
  [-ShowPrereqs]
  [<CommonParameters>]

Action

Import-M365Sites
  -ConfigNode <String>
  -Csv <String>
  [-TranslationCsv <String>]
  [-IgnoreErrors]
  [-SkipValidation]
  [-ValidateOnly]
  [<CommonParameters>]

DESCRIPTION

Use the Import-M365Sites cmdlet to import sites into a Microsoft 365 tenant.

See the Notes section for cmdlet requirements.

EXAMPLES

Example 1: Validation only

Import-M365Sites -ConfigNode Target -Csv 'sites.csv' -ValidateOnly

This example validates all data for the sites in the sites.csv file but does not perform the operation. This is a recommended first step so any warnings can be addressed first.

Example 2: Basic import

Import-M365Sites -ConfigNode Target -Csv 'sites.csv'

This example imports all sites from the sites.csv file.

Example 3: Advanced import with translation

Import-M365Sites -ConfigNode Target -Csv 'sites.csv' -TranslationCsv 'translations.csv'

This example imports all sites from the sites.csv file. Data is translated according to the mappings provided in the translations.csv file.

PARAMETERS

-ConfigNode

The config.psd1 configuration node to use.

Type: String
Parameter Sets: Action
Aliases:
Accepted values: Source, Target

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Csv

The path to a CSV file containing objects to import. See the Notes section for the required format.

Type: String
Parameter Sets: Action
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-IgnoreErrors

Validation errors stop execution prior to the import by default. Use -IgnoreErrors to proceed with error records omitted.

Note that global errors are not impacted by this option.

Type: SwitchParameter
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ShowPrereqs

Prints the cmdlet prerequisites.

Type: SwitchParameter
Parameter Sets: Help
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-SkipValidation

Skips the property validation stage of the import. Data supplied via the -Csv parameter will be used as-is, which may lead to runtime errors.

Type: SwitchParameter
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-TranslationCsv

The path to the CSV file containing translation mappings. The file must use SourceName;TargetName as the field identifiers.

Type: String
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ValidateOnly

Validation and import are both performed by default. Use -ValidateOnly to perform the validation but skip the import.

It is recommended to run a -ValidateOnly pass first to identify potential issues prior to importing data. Note that records with validation errors will fail to import unless -IgnoreErrors is used, but records with validation warnings proceed without the data triggering the warning. A -ValidateOnly pass allows you to inspect these warnings before data is written and make any necessary changes.

Type: SwitchParameter
Parameter Sets: Action
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

None

OUTPUTS

System.Void

NOTES

Required config.psd1 keys

These configuration keys are scoped to the Source or Target node in config.psd1.

  • M365ClientId: The client ID of your tenant’s app.

  • M365ClientSecret: The client secret of your tenant’s app.

  • M365SharePointDomain: The name of your SharePoint domain. For example, source.

  • M365Tenant: The ID of your tenant. For example, source.org.

Optional config.psd1 keys

These configuration keys are scoped to the Source or Target node in config.psd1.

  • M365ClientCertificate: The path to the certificate file associated with your tenant’s app.

    Default $env:ProgramData\Transend\tools\TMCTools.pfx

  • M365CloudEnvironment: The cloud environment for your tenant. Allowed values are Global, China (.cn), Germany (.de) and USGovernment (.us).

    Default: Global

Required PowerShell modules

  • ExchangeOnlineManagement
  • PnP.PowerShell

Required APIs

  • Microsoft Graph
  • Office 365 Exchange Online
  • SharePoint

Required Microsoft Graph Application scopes

  • Calendars.ReadWrite
  • Directory.ReadWrite.All
  • Sites.Manage.All
  • TeamSettings.ReadWrite.All

Required Office 365 Exchange Online Application scopes

  • Exchange.ManageAsApp

Required SharePoint Application Scopes

  • Sites.FullControl.All

Required CSV format

Property Required Multi-value Notes
InScope True False Allowed values: Yes, True, No and False.
Type True False Allowed values: Communication and Team.
DisplayName True False  
InternalAdminsToAdd False True  
InternalOwnersToAdd False True  
InternalMembersToAdd False True  
InternalVisitorsToAdd False True  
  • CSV fields should be separated by semicolons. For example, InScope;Type....

  • Multi-value fields should be separated by commas. For example, value1,value2....

General configuration options