officedev / o365-edu-tools Goto Github PK
View Code? Open in Web Editor NEWO365 Education tools and scripts repository
License: MIT License
O365 Education tools and scripts repository
License: MIT License
Remove-SchoolAU_Memberships.ps1 has been overwritten and replaced by Remove-All_SchoolSG_Memberships.ps1
Hi!
Thanks for providing these scripts for fixing the Azure AD > Teams synchronization issues.
We have started the Add-GroupOwners-To-Teams
script against our tenant (all SDS Teams), and the script is running quite slow..
I have gone through the source code, and identified some optimalizations that may improve the runtime drastically.
When the script starts, it gathers a list of all groups that's a unified group with mailNickname starting with Section_
, and is a provisioned Team.
The result of this request is then looped and checked once again with the same filter, and the script is also running a GET request aginst the Teams Graph endpoint for all groups (one by one), checking if it's actually is a Team (even though we just asked for Teams in the first place...). Is this last loop even necessary? I have tried removing this myself, and the speed was massively improved. In our tenant with 7 000 SDS teams, 7 000 GET requests takes forever to complete... ๐
O365-EDU-Tools/Teams Scripts/Add-GroupOwners-To-Teams.ps1
Lines 130 to 142 in 12e70a0
Get "badrequest" when trying to get school by https://graph.microsoft.com/beta/education/schools.
The error message is "Resource not found for the segment 'education'"
Would be great to have the ability to get this done via Powershell
Seb
I have exported my student information from our SIS (Blackbaud onCampus) in a OneRoster csv format. When I run the Convert-OneRosterToMicrosoftSDS command from the School Data Sync Toolkit in PowerShell, I get an exception
Exception_2020-04-22_15-57-05Z.log
The specific command I am running is: Convert-OneRosterToMicrosoftSDS -onerosterfolderpath 'C:\OneRoster\In\' -sdsfolderpath 'C:\OneRoster\Out\' -logPath 'C:\OneRoster\Logs\'
I've also attached the other log files, however I don't see anything in them that indicates a problem (except it says it can't find the demographics.csv file, but that is listed as optional).
Error_2020-04-22_15-57-05Z.log
Message_2020-04-22_15-57-05Z.log
Warning_2020-04-22_15-57-05Z.log
Trying to run any of the scripts, they're all throwing up issues. get-sectionusagereport gives this error:
Cannot find an overload for "AcquireTokenAsync" and the argument count: "4".
I'm wondering if these scripts are using old versions of modules and need updating?
In the postman collection for OAuth2, in the GradeSync section the "Get Student For Class" and the "Get Student for Class by ID" requests are identical.
Moreover, the tests for these endpoints do not seem to validate the response schema as is the case for the requests in APIs for SDS.
When running the Get-SectionUsageReport.ps1 script, it does not pull any data. The script just outputs a single line, over and over:
Received 0 sections
The issue may be on line 264, where there is a variable "res" that is not referenced anywhere else:
Write-Message "Received $($res.value.Count) sections"
Possibly the variable should be "results", instead of "res", but correcting that creates other errors in the script:
PS D:\Users\bboryczko\Downloads> .\Get-SectionUsageReport.ps1
At D:\Users\bboryczko\Downloads\Get-SectionUsageReport.ps1:268 char:69
+ @{label = "Name"; expression = { $_.displayname } },
+ ~
Missing expression after ','.
At D:\Users\bboryczko\Downloads\Get-SectionUsageReport.ps1:269 char:21
+ CreatedDateTime
+ ~~~~~~~~~~~~~~~
Unexpected token 'CreatedDateTime' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : MissingExpressionAfterToken
Adding a "," in line 269, results in more errors.
Hello Team!
In the documentation it is not clear where the guardian email should be added to link to the student.
In version 1 of SDS, there was a "User" file where the guardian's e-mail was added. In version 2.1, there is no longer the "User" file where the link between the student and the guardian was made.
They could get me out of this doubt.
Yours sincerely,
Naldo Gomes
/O365-EDU-Tools/SDS Scripts/Set-Email_Addresses_Expired.ps1
A bug happened!
Set-UnifiedGroup -ProxyAddresses is not synching changes to Azure AD
You need to rebuild script to set only by using parameter for -PrimarySMTPAddress
No response
When trying to run the Update-AnchorID_Attributes.ps1 script, it does not complete and gives the following errors.
I verified that the common.ps1 file is downloaded properly, and there are no issues signing into MS Graph with Global Admin account.
The variable '$lastRefreshed' cannot be retrieved because it has not been set.
At C:\Temp\common.ps1:36 char:23
+ Refresh-Token $lastRefreshed $graphscopes
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (lastRefreshed:String) [], RuntimeException
+ FullyQualifiedErrorId : VariableIsUndefined
Export-Csv : Cannot bind argument to parameter 'InputObject' because it is null.
At C:\Temp\Update-AnchrorID_Attributes.ps1:121 char:31
+ ... te-output $users | Export-Csv -Path "$csvfilePath" -NoTypeInformation
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Export-Csv], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportCsvCommand
The variable '$refreshToken' cannot be retrieved because it has not been set.
At C:\Temp\Update-AnchrorID_Attributes.ps1:210 char:26
+ update-SDSUserAttributes $refreshToken $graphscopes $csvFilePath
+ ~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (refreshToken:String) [], RuntimeException
+ FullyQualifiedErrorId : VariableIsUndefined
There are important files that Microsoft projects should all have that are not present in this repository. A pull request has been opened to add the missing file(s). When the pr is merged this issue will be closed automatically.
Microsoft teams can learn more about this effort and share feedback within the open source guidance available internally.
Is it possible to list user's guardians info before we reset it?
Hello,
I'm new to github, I needed to run Teams script and I was stuck on connect-graph. Ther was always a timeout 120sec. I founded this after a lot a research on the web. So I want to share this info here.
MicrosoftDocs/azure-docs#54264
this issues tell to user only powershell to get connect-graph successfully, becaus it do not work in powershel ISE.
after that, I successfully ran teams scripts.
Regards
With this api version i can't run the script to refresh member of SDS group in the Teams Cache.
Welcome To Microsoft Graph!
Processing '011-H03-2020 (SDS).'
Retrieving group owners.
Processing 5 owners.
Processing 13 members.
Error encountered processing 2bf14db0-b5d2-47d1-a7a3-e1bb6c107331 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 33173cba-5489-447d-9d90-7200294e3655 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 6bf05cf6-2790-4845-8e18-96ef9eb49d3c for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 034a0858-9502-4374-b985-0fe38262779e for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing e3d9bf70-621a-4363-b9f3-99747fbc8c21 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 9317a484-4bb1-4781-b974-3196aa1deb60 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing fb0cdc28-9790-4488-b377-9cb1d375e2d6 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 453d45d9-49ad-4e89-b5fd-c9a091038af5 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 52f62e75-1bfa-4f6b-abd4-141120a279c4 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 48c2c0e8-5658-43bf-b82b-ed7ac309e1d5 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing f29a1f50-ad91-4115-88da-59fa12f7591d for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 01c0ab13-56fe-4199-95e5-4f35e27b8bc0 for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
Error encountered processing 5622d827-6559-4988-929f-40168c422c0c for team f2604d37-74f8-4299-a660-498aefea5b1b - Role: 'member' is invalid. Valid values are 'Owner, Guest'.
On a specific user I am getting this message.
Error encountered processing ....aff73706b for team ....dd8a75c4e5 - Failed to execute backend request..
But it works on great on other people.
Both scripts for blocking access to graph contain reference to Powershell and not graph. For example this script https://github.com/OfficeDev/O365-EDU-Tools/blob/master/SDS%20Scripts/Block%20PowerShell/Block-MS_Graph_module_for_everyone_except_a_list_of_admins.ps1
in line 4 instead of "#set the PowerShell App ID as a variable" should be "#set the Graph App ID as a variable", correct?
/SDS%20Scripts/Block%20PowerShell/Block-MS_Graph_module_for_everyone_except_a_list_of_admins.ps1
Problem:
There are two sets of duplicated scripts, with the only difference between the two being the Graph ID.
In the Block Powershell folder, there are 4 files - 2 of which are named the same but with module
inserted into the title. The difference between the module files and the non-module files seem to be solely the Graph ID.
If these scripts are supposed to do different things, it should be made clear in the comments what they are supposed to be doing. If they're supposed to be doing the same thing, they should be deduped.
In the "admin" script, the comment on line 16 is incorrect. It says: # Assign the default app role (0-Guid) to the current user
, when it is actually assigning permissions to a list of administrators.
Propose Solution:
module
versus non-module scripts.list of admins
file to not say # Assign the default app role (0-Guid) to the current user
but say # Assign the default permsissions to all admins in the CSV file list
or equivalent.No response
When I use the csv file and upload it to SDS validation fails. Do you have a working CSV file which SDS will accept.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.