GithubHelp home page GithubHelp logo

o365-edu-tools's People

Contributors

abhaysibal avatar abhijitsverma avatar acherrymsft avatar adbindal avatar ayronjohnson avatar billsluss avatar danbaumgartner avatar ddwivedy84 avatar dileeshm avatar drayfar avatar jesegher avatar johnmaustin avatar kaubar avatar kundanap avatar kwiggen avatar lauragra avatar matsand avatar mccallt avatar mihirpa avatar mmast-msft avatar mohankrishnaseelam avatar mss-sivas avatar nokafor avatar o365devx avatar sarathsrestaluri avatar tejakoppa avatar tjvering avatar vdarbari avatar vipul-bhojwani avatar wendy-riedy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

o365-edu-tools's Issues

Add-GroupOwners-To-Teams is running slowly

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.

$initialSDSGroupUri = "https://graph.microsoft.com/beta/groups?`$filter=groupTypes/any(c:c+eq+'Unified')+and+startswith(mailNickname,'Section_')+and+resourceProvisioningOptions/Any(x:x+eq+'Team')&$groupSelectClause"

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... ๐Ÿ˜„

function Check-Team($group) {
if (($group.resourceProvisioningOptions -ne $null) -and $group.resourceProvisioningOptions.Contains("Team") -and $group.mailNickname.StartsWith("Section_")) {
try {
Refresh-Token
$groupId = $group.id
$result = invoke-graphrequest -Method GET -Uri "https://graph.microsoft.com/beta/teams/$groupId/?`$select=id" -ContentType "application/json" -SkipHttpErrorCheck
return ($result -ne $null -and (-Not $result.ContainsKey("error")))
}
catch {
return $false
}
}
}

Exporting OneRoster data from Blackbaud causes error

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

SDS Postman Collection

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.

SDS CSV v2 Format Files Not Uploaded Here

screenshot

When attempting to create a School Data Sync v2 profile, I choose the v2 option and the link to the sample files points here - however only v1 CSV sample files are in this repo.

Get-SectionUsageReport.ps1 not pulling data

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.

How to Link Guardian Email to Student in SDS Version 2.1

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

[Bug]: Set-UnifiedGroup cannot synch changes to proxyAddresses

File Path(s)

/O365-EDU-Tools/SDS Scripts/Set-Email_Addresses_Expired.ps1

What happened?

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

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Update-AnchorID_Attributes.ps1 variable errors

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

unable to connect-graph issue 54264

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

Graph API 1.1.0 - Member is not a valid value

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'.

Error encountered on a specific user

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.

[Bug]: Block Powershell MS Graph Module scripts duplicated with incorrect comments

File Path(s)

/SDS%20Scripts/Block%20PowerShell/Block-MS_Graph_module_for_everyone_except_a_list_of_admins.ps1

What happened?

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:

  1. Determine if these two scripts are supposed to perform the same operations or if they should be demonstrating something different for the module versus non-module scripts.
  2. If the files are just duplicates, delete one set of the duplicates.
  3. If the files are not meant to be duplicates, either explain what the difference is in them or fix them to be different.
  4. Update the comment on line 16 of the 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.

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.