SpanningCloudApps / SB365-Powershell

Spanning Backup for Office 365 REST API PowerShell Module
https://spanning.com
Apache License 2.0
11 stars 5 forks source link

SB365-Powershell - latest version #44

Closed MGrnovic closed 3 years ago

MGrnovic commented 3 years ago

Hi --

Installed latest version 4.1.0.0

Get-SpanningTenantInfo - only command working

any help is appreciated.

Thank you

PS C:\Utils\Spanning\SpanningO365-v4.1.0.0-full\SpanningO365\4.1.0.0> Get-SpanningTenantInfo

licenses users assigned status


100  904     886 paid

PS C:\Utils\Spanning\SpanningO365-v4.1.0.0-full\SpanningO365\4.1.0.0> Get-SpanningAdmins Invoke-WebRequest : The operation has timed out. At C:\Utils\Spanning\SpanningO365-v4.1.0.0-full\SpanningO365\4.1.0.0\Private\Invoke-SpanningRequest.ps1:128 char:23

SPMatthewMcD commented 3 years ago

Try using Get-SpanningUser -UserType Admins -Size 20 -verbose the smaller request size has been working for folks.

We'll be releasing an update next week.

SPMatthewMcD commented 3 years ago

We've released an update to the API. Can you retry your request?

eliassylvain commented 3 years ago

Hello,

From my side, it is still not working, I don't receive an error code, the command never ends. Capture d’écran 2021-08-18 172830

Can you help please ?

SPMatthewMcD commented 3 years ago

I see that you have 69531 users. That is going to take a long time.

I have asked engineering to modify the API to return less data than it does now. (We added the backup status of users and that has increased the payload size of the result.) The unintended side effect is that PowerShell is taking 3-4 times longer to process the result because the JSON conversion is more complicated. What used to take 20-30 seconds is now taking several minutes.

If you change the first command to Get-SpanningUser -Verbose | you will see the requests going by.

You can try the development branch, I removed one of the unnecessary delays in the Invoke-WebRequest that was writing to the UI and wasting 30 seconds on each request.

I expect to have a resolution in 2 weeks or less.

I apologize for the pain this is causing.

eliassylvain commented 3 years ago

Hello Matthew,

Thank you for your answer, what do you mean when you said to try with the development branch ?

I will wait then your update when the resolution is release.

SPMatthewMcD commented 3 years ago

I posted an update with some code optimizations to Development. I am adding a few more right now to decrease the memory demands on the PowerShell client. i should have them up later today. They are on the Development branch and can be downloaded here: https://github.com/SpanningCloudApps/SB365-Powershell/archive/refs/heads/development.zip

It hasn't gone through our full QA, but I have been running it for about a week now without incident. It won't substantially improve your scenario, though.

Will keep you posted here as we roll out the updates to the backend. Once we do that there will be a new release of the module.

eliassylvain commented 3 years ago

Hello Matthew,

Do you have an update about my issue ?

SPMatthewMcD commented 3 years ago

@eliassylvain We have a build in QA now. Once it hits production I'll release the development branch here to Master and create a new release that will be optimized for the smaller payload. I'll put a note in this thread when we complete that process.

SPMatthewMcD commented 3 years ago

All, We've updated the API to make User Backup Status optional by introducing a flag -Status on the Get-SpanningUser cmdlet. This latest release Release 4.2.0.0 adds the corresponding flag as an option. It is set to false by default so that PowerShell has less JSON to parse, making the module appear faster.

I returned 9500 users in 12.5 seconds.

If you still want user backup status you can opt to set the flag to true but expect PowerShell 5.x to run more slowly as it is not very efficient at parsing JSON.