5 Commits
v1.1 ... v2.0.0

Author SHA1 Message Date
412966ec1d BREAKING: Rename module (#4) 2020-04-21 19:14:14 +01:00
99718ae5aa 📖 DOC: Module published to PowerShell Gallery
Signed-off-by: Luke Tainton <luke@tainton.uk>
2020-04-18 20:07:09 +01:00
b2ea10d113 Merge branch 'master' of github.com:luketainton/Import-TeamsUsers 2020-04-18 19:47:06 +01:00
5b1a4dd1d1 🚀 RELEASE: Add manifest file for publishing
Signed-off-by: Luke Tainton <luke@tainton.uk>
2020-04-18 19:46:52 +01:00
58e5ed94b6 Add examples to CSV 2020-03-30 15:59:17 +01:00
4 changed files with 157 additions and 16 deletions

View File

@@ -1,21 +1,32 @@
# Import-TeamsUsers
A Powershell script that imports users from a CSV into a Microsoft Teams team.
# TeamsUserEnroller
A Powershell module that imports users from a CSV into a Microsoft Teams group.
# Setting up your device
This script runs via PowerShell. If you're on Windows, you'll already have this. If not, please download it from the [releases page](https://github.com/PowerShell/PowerShell/releases). Once you've got PowerShell:
This module uses PowerShell, which is pre-installed on Windows. If you're not on Windows, please [download **PowerShell Core**](https://github.com/PowerShell/PowerShell/releases).
1. Open PowerShell as an administrator.
2. Allow remote scripts to execute by running `Set-ExecutionPolicy RemoteSigned`. If you don't do this, the script won't run.
3. Install the Microsoft Teams module. To do this, run `Install-Module -Name MicrosoftTeams`. Accept any prompts that you are given.
1. Install this module by running `Install-Module -Name TeamsUsersEnroller`.
# Running the script
1. Download the repository to your PC.
2. Create a CSV file in the format `email,role`. The first line must be the headers `email,role`. You can copy the template if required.
3. Open PowerShell and change directory (`cd`) to the directory where you downloaded the repository.
3. Import the module (`Import-Module ./Import-TeamsUsers.psm1`).
4. Run `Import-TeamsUsers -File <FILE>`.
1. Create a CSV file containing your users and their desired roles. The first line must be the headers `email,role`, for example:
```csv
email,role
jbloggs@example.com,owner
user@example.com,member
```
1. Run `Import-TeamsUsers -File <FILE>`, where `<FILE>` is the path to the CSV file.
<details>
<summary>If you can't run non-signed scripts</summary>
If your policy requires scripts to be digitally signed, run
```powershell
Set-ExecutionPolicy Bypass -Scope Process
```
then try running the command again. You may require administrative rights to do change the Execution Policy.
</details>
# Need help?
If you require assistance running the script, see the help by executing `Get-Help Import-TeamsUsers` (requires importing the module first - see steps 3 and 4 above). If you still need help, please [send me an email](mailto:luke@tainton.uk?subject=I%20need%20help%20running%20Import-TeamsUsers).
# Issues? Want a new feature?
If you're having problems with the script or have an idea for a new feature, please check [here](https://github.com/luketainton/Import-TeamsUsers/issues) to see if someone else has the same problem or suggestion, and open an issue if one doesn't already exist. If you can implement a fix or feature request, please file a pull request!
If you need assistance, please try the following:
1. See the help documentation by running `Get-Help Import-TeamsUsers`.
1. Check closed issues [here](https://github.com/luketainton/Import-TeamsUsers/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed).
1. Open an issue [here](https://github.com/luketainton/Import-TeamsUsers/issues/new).

132
TeamsUserEnroller.psd1 Normal file
View File

@@ -0,0 +1,132 @@
#
# Module manifest for module 'TeamsUserEnroller'
#
# Generated by: Luke Tainton
#
# Generated on: 21/04/2020
#
@{
# Script module or binary module file associated with this manifest.
# RootModule = ''
# Version number of this module.
ModuleVersion = '2.0.0'
# Supported PSEditions
# CompatiblePSEditions = @()
# ID used to uniquely identify this module
GUID = 'a7b4e6d0-c92e-40df-a238-2b7a131a13a1'
# Author of this module
Author = 'Luke Tainton'
# Company or vendor of this module
CompanyName = 'Luke Tainton'
# Copyright statement for this module
Copyright = '(c) 2020 Luke Tainton. All rights reserved.'
# Description of the functionality provided by this module
Description = 'A Powershell module that will enrol users from a CSV file into a given Microsoft Teams group.'
# Minimum version of the PowerShell engine required by this module
# PowerShellVersion = ''
# Name of the PowerShell host required by this module
# PowerShellHostName = ''
# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''
# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''
# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''
# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''
# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @('MicrosoftTeams')
# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()
# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('./TeamsUserEnroller.psm1')
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @('Import-TeamsUsers')
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = '*'
# Variables to export from this module
VariablesToExport = '*'
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = '*'
# DSC resources to export from this module
# DscResourcesToExport = @()
# List of all modules packaged with this module
# ModuleList = @()
# List of all files packaged with this module
FileList = @('./TeamsUserEnroller.psm1')
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{
PSData = @{
# Tags applied to this module. These help with module discovery in online galleries.
Tags = @('Teams', 'Skype', 'Office365')
# A URL to the license for this module.
# LicenseUri = ''
# A URL to the main website for this project.
ProjectUri = 'https://github.com/luketainton/TeamsUserEnroller'
# A URL to an icon representing this module.
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = 'https://github.com/luketainton/TeamsUserEnroller/releases'
# Prerelease string of this module
# Prerelease = ''
# Flag to indicate whether the module requires explicit user acceptance for install/update/save
RequireLicenseAcceptance = $false
# External dependent modules of this module
# ExternalModuleDependencies = @()
} # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfo URI of this module
# HelpInfoURI = ''
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}

View File

@@ -6,7 +6,6 @@ Function Import-TeamsUsers {
.DESCRIPTION
Import-TeamsUsers is a Powershell function that will enrol users from a CSV file into a given Microsoft Teams group.
It has one required parameter: -File.
.PARAMETER File
The path to the CSV file that contains your users. Can either be an absolute path or relative path.

View File

@@ -1 +0,0 @@
email,role
1 email role