You could try using CB AntiSpam as it has Blocking features. You'd set the date for the block (when the block goes in affect) to whatever you like. You can then set for how long they're blocked (1 day, 1 month, forever, etc..) and even specify a reason (will be displayed to the user on their next login attempt).
As an alternative I guess you could do something like that using CBSubs. You've create a subscription plan with the duration you're wanting (e.g. 1 year) and leave free registrations without subscriptions disabled (this is default). When the plan expires after a year for example their account will disable on next login attempt or when expirations are triggered.
Kyle (Krileon) Community Builder Team Member Before posting on forums:
Read FAQ thoroughly
+
Read our Documentation
+
Search the forums CB links:
Documentation
-
Localization
-
CB Quickstart
-
CB Paid Subscriptions
-
Add-Ons
-
Forge
-- If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
-- If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please
send me a private message
with your thread and will reply when possible!
-- Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
-- My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.