rodneyviana / ODSyncService

OneDrive service/DLL for Sync State
MIT License
93 stars 26 forks source link

Is OneDriveLib.dll at least partially useful with on-demand? #22

Closed JRVcr closed 3 years ago

JRVcr commented 3 years ago

I've read the discussions about "OnDemandOrUnknown". On a small system with FIles On Demand enabled by GPO, I'm finding nearly all SharePoint and ODfB folders are showing "OnDemandOrUnknown" right after sync is set up, and most later change to SharedSync. Is it true that, with FOD, statuses OTHER THAN "Error" mean OD is working correctly, and that "OnDemandOrUnknown" is ambiguous?

Also, is there a description somewhere of what each of the possible statuses mean?

Looking forward to the FOD-compatible solution being released!

rodneyviana commented 3 years ago

Hi JRVcr,

There is another version for On Demand installs. Follow steps described here: https://github.com/rodneyviana/ODSyncService/tree/master/Binaries/Beta

Please let me know if it worked for you.

Thanks,

Rodney

JRVcr commented 3 years ago

Thanks, Rodney; I was aware of the files-on-demand version, but also aware it is in beta. Can't risk liability of installing beta software on a client site, so I'll look forward to the final version. Meantime, was hoping for my 2 questions about OneDriveLib.dll to be answered, since that's my best bet right now.

rodneyviana commented 3 years ago

The Setup.zip contains the signed non-beta version. I didn't have time to update the main release nor to update the main README.md file. However, I updated the README.md in the beta folder to include instructions on how to run the installer and I included a better PowerShell script that works even when there is more than one OneDrive client in the machine. I also plan to record a step-by-step video when time permits.

Thanks,

Rodney

JRVcr commented 3 years ago

Rodney, thank you! I have 3 issues--

  1. UNABLE TO ADD BREAKPOINT I've installed using setup.zip on my own computer (not the client's computers, yet). I have OD personal & business. It monitors personal, but not business. This is the log:

2021-02-09 09:22:30.516 Information General Initiating App 0 2021-02-09 09:22:30.532 Information General Successfully started process (id=0, cmdLine='"C:\Users\jvand\AppData\Local\Microsoft\OneDrive\OneDrive.exe"') 0 2021-02-09 09:22:31.078 Information General Initiating App 0 2021-02-09 09:22:31.096 Information General Successfully started process (id=0, cmdLine='"C:\Users\jvand\AppData\Local\Microsoft\OneDrive\OneDrive.exe" /client=Personal /background') 0 2021-02-09 09:22:31.122 Error General Unable to add breakpoint 3964 2021-02-09 09:22:31.679 Information IconChange uID=501,Action=0,tootip='OneDrive - Personal.Not signed in' 18872 2021-02-09 09:22:31.809 Information IconChange uID=501,Action=1,tootip='OneDrive - Personal.Signing in' 18872 2021-02-09 09:22:33.237 Information IconChange uID=501,Action=1,tootip='OneDrive - Personal.Online' 18872 2021-02-09 09:22:33.891 Information IconChange uID=501,Action=1,tootip='OneDrive - Personal.Up to date' 18872 I saw the "Unable to add breakpoint" thread here and excluded the full path to ODOnDemand.exe from AV (Windows 10 Defender); no change. Unlike in the other thread, it doesn't prevent ODfB from running; it just can't attach to it. All I really care about is ODfB; if users use OD Personal, that's on them!

  1. GROOMING LOGS This log will grow enormous over time. I can set up a scheduled task to delete it every reboot, perhaps. But somehow its size needs to be managed.

  2. REPORTING I'm currently using a modified version of a script I found for OneDriveLib.dll to collect logs for all the computers in one place and then report daily success/warning/failure status to a dashboard service, https://CheckCentral.cc that we use to support multiple clients. The script is based on this: https://www.nyitsupport.com/2020/05/onedrive-status-and-central-monitoring.html.

I think ODOnDemand.exe with your PS scripts can be made to work with the existing reporting script, with minor changes to both. But I'll need to know what all the possible "LastStatus" items are so I can assign Success/Warning/Failure to them. Does such a list exist?

JRVcr commented 3 years ago

Heheh. I just followed the link I provided in my 3rd question. He's now rewritten the solution around monitoring the icon, like you're doing, instead of using the DLL. What's there now is not the script I used at all! But it is another way around the problem. Just rolled out his new version at my client site.

rodneyviana commented 3 years ago

Rodney, thank you! I have 3 issues--

  1. UNABLE TO ADD BREAKPOINT I've installed using setup.zip on my own computer (not the client's computers, yet). I have OD personal & business. It monitors personal, but not business. This is the log:

2021-02-09 09:22:30.516 Information General Initiating App 0 2021-02-09 09:22:30.532 Information General Successfully started process (id=0, cmdLine='"C:\Users\jvand\AppData\Local\Microsoft\OneDrive\OneDrive.exe"') 0 2021-02-09 09:22:31.078 Information General Initiating App 0 2021-02-09 09:22:31.096 Information General Successfully started process (id=0, cmdLine='"C:\Users\jvand\AppData\Local\Microsoft\OneDrive\OneDrive.exe" /client=Personal /background') 0 2021-02-09 09:22:31.122 Error General Unable to add breakpoint 3964 2021-02-09 09:22:31.679 Information IconChange uID=501,Action=0,tootip='OneDrive - Personal.Not signed in' 18872 2021-02-09 09:22:31.809 Information IconChange uID=501,Action=1,tootip='OneDrive - Personal.Signing in' 18872 2021-02-09 09:22:33.237 Information IconChange uID=501,Action=1,tootip='OneDrive - Personal.Online' 18872 2021-02-09 09:22:33.891 Information IconChange uID=501,Action=1,tootip='OneDrive - Personal.Up to date' 18872 I saw the "Unable to add breakpoint" thread here and excluded the full path to ODOnDemand.exe from AV (Windows 10 Defender); no change. Unlike in the other thread, it doesn't prevent ODfB from running; it just can't attach to it. All I really care about is ODfB; if users use OD Personal, that's on them!

  1. GROOMING LOGS This log will grow enormous over time. I can set up a scheduled task to delete it every reboot, perhaps. But somehow its size needs to be managed.
  2. REPORTING I'm currently using a modified version of a script I found for OneDriveLib.dll to collect logs for all the computers in one place and then report daily success/warning/failure status to a dashboard service, https://CheckCentral.cc that we use to support multiple clients. The script is based on this: https://www.nyitsupport.com/2020/05/onedrive-status-and-central-monitoring.html.

I think ODOnDemand.exe with your PS scripts can be made to work with the existing reporting script, with minor changes to both. But I'll need to know what all the possible "LastStatus" items are so I can assign Success/Warning/Failure to them. Does such a list exist?

Are you still experiencing problems with OneDrive for business? I have similar configuration and it works well for me. Concerning the logs, use the script I provide in the page where you download the installer (second script). Also, make sure you are not using the 64-bit client of OneDrive (in beta right now).

JRVcr commented 3 years ago

Rodney, I don't know if I'm still having the problem, but I've elected to go with the solution here--

https://www.nyitsupport.com/2020/05/onedrive-status-and-central-monitoring.html

It's doing the same thing you are (monitoring the ODfB notification icon), but is an end-to-end solution, including collecting logs and creating reports, and doesn't require installing anything on the client. It runs as a compiled Auto-IT script. I still ended up modifying it a bit for my purposes and preferences, but it was much easier to implement. I now have it running on two of my smaller sites.

MS has made occasional noises about being able to monitor OneDrive sync from the 365 portal...and they really need to make good on that. But you definitely get the credit for getting the home-brew OneDrive monitoring business started. Thanks!