Powershell AD tool - powershell

Basically, I've created a 400+ and growing AD tool with a GUI. I've given them the option to search using many filters with get-aduser and wild cards fill the rest. This company is large so when I search for a common name like kyle or john, it takes along time to pull the information because the search was not specific.
Is there a way to stop them from doing such a general search or limit the number of entries can be in an array, or stop the search if there's too much information.
Edit: I have a solution using a variable to count wild cards but that only works if the form is completely blank. If i set the number any different they won't be able to look someone up by ID number

Related

MS Access 2007 Form Logic

This is my first post on Stack. I've been reading for a while and learned a lot. Thanks to all those who share on this site.
My office runs still runs MS Access 2007 and I was tasked with creating a database even though I had no experience doing so. I read "The Missing Manual for Access 2007", another book that I can't remember the name of, multiple posts on this site and Microsoft's and can't find the solution to what I need to do.
Issue: I want to have two fields on a form referring to the same table, each with look ups but want the second field's options to be dependent on the first. For example, I want the first field for "Region" to list options to select 1 2 3 or 4. If someone chooses 1, I want the second field only listed offices that are in Region 1. This doesn't seem like it should wildly complicated but I cannot figure out how to do it.
I have tried using the expression builder to create nested IIf functions, filtering queries, macros and a few other things but don't have the depth of knowledge to make any of them accomplish what I'm looking to do.
Is there a way to accomplish this easily without VBA? Or if VBA is the only way, can someone point me to a good code that I hopefully figure out and edit for this purpose?
Thank you for any help and advice. Please let me know if I left out any useful information
Steve
enter image description here

PowerApps datasource to overcome 500 visible or searchable items limit

For PowerApps, what data source, other than SharePoint lists are accessible via Powershell?
There are actually two issues that I am dealing with. The first is dynamic updating and the second is the 500 item limit that SharePoint lists are subject to.
I need to dynamically update my data source, which I am currently doing with PowerShell. My data source is not static and updating records by hand is time-consuming and error prone. The driving force behind my question is that the SharePoint list view threshold is 5,000 records however you are limited to 500 visible and searchable records when using SharePoint lists in the Gallery View and my data source contains greater than 500 but less than 1000 records. If you have any items beyond the 500th record that should match the filter criteria, they will not be found. So SharePoint lists are not optional for me until that limitation is remediated
Reference: https://powerapps.microsoft.com/en-us/tutorials/function-filter-lookup/
To your first question, Powershell can be used for almost anything on the Microsoft stack. You could use SQL server, Dynamics 365, SP, Azure, and in the future there will be an SDK for the Common Data Service. There are a lot of connectors, and Powershell can work with a good majority of them.
Take note that working with these data structures through Powershell is independent from Powerapps. Powerapps just takes the data that the data connector gives it, and if you have something updating the data in the background (Powershell, cron job, etc.), In order to get a dynamic list of items, you can use a Timer control and a Refresh function on your data source to update the list every ~5-20 seconds.
To your second question about SharePoint, there is an article that came out around the time you asked this regarding working with large lists. I wouldn't say it completely solves your question, but this article seems to state using the "Filter" function on basic column types would possibly work for you:
...if you’d like to filter the set of items that you are showing in the gallery control, you will make use of a “Filter” expression, rather than the “Search” expression, which is the default that existing apps used. With our changes, SharePoint connector now supports “equals” type of queries on columns that support filtering (Single line of text, choice, numbers, dates and people), so make sure that the columns and the expressions you use are supported and watch for the same warning to avoid reverting back to the top 500 items.
It also notes that if you want to pull from a list larger than the 5k threshold, you would need to use indexes, I have not fully tested this yet but it seems that this could potentially solve your problem.

Using Exchange Powershell to do a selective ItemCount

I'm aware that it's very easy to use Get-MailboxStatistics to sum ItemCount and sizes and so on, but can anyone tell me how to do this selectively?
So an example here would be that I want to use e-mail item properties (fields) to selectively count. Imagine a scenario where I'm saying "okay, what's the item count in this persons mailbox where the "Follow Up Flag" is set, or what's the count of mail items that have an "Importance" flag.
Essentially I suppose I'm trying to make the equivalent of a search folder, but server side script, so the fields that I could use within Outlook to create a search folder based on e-mail fields I'd like to be able to "count" as part of a cmdlet.
Does that make sense? Can it be done?
There's nothing in the Exchange management cmdlets that reaches that far into the mailbox items. I think your best bet is going to be the EWS Managed API.
I'd start here:
http://gsexdev.blogspot.com/#!/2012/01/ews-managed-api-and-powershell-how-to.html

Dynamics CRM - Create a Plugin to add a new logical operator into the advanced find

I am trying to add a new option into the Advanced Find in Dynamics CRM 2011, yet am unable to find if there is a way to do this.
The reason is that I want to get the current user and then use one of their attributes to reduce the list of found items, for example The users list says they look after all the car sales for Texas, instead of showing all the sales in Texas for Cars and Vans I want to show just Cars. However there is someone else who wants to look at the list and see all the sales of Cars and Vans, thus I can't set the owner - if that makes sense.
So I want to be able to do is add an option into the advanced find so I can say where all the cars are in the current users list of cars they are interested in.
You can do it without creating a plugin... On the edit filter you select the object as a relational object, rather than the actual field. For example:
When you pick the field go to the "Related" section in the combo box:
Once you have done this you can chain them back to the part that you want:
Thus there is actually no need to create a plugin just as long as all relationships are created etc.

Connecting nodes to multiple dates

I have company website, with many offices around the world (around 50 offices).
The company want to create a gift giveaway with the employees in a specific company each specific day.
For example:
Office 1: will do the giveaway the days: 1/1/2010, 7/1/2010, 15/1/2010, etc...
Office 2: the days: 2/1/2010, 9/1/2010, 19/1/2010, etc...
Office 3: ....
Office 50: ...
(the days are setup manually to specific offices, no need of an algorithm here)
I have a node per Office, it's a CCK content type with details of each office (location, phone, email, etc), now I need to assign those days to the offices.
But my problem here is that I don't need to create events (or at least node events) because I don't need to store any data in the event. Just need to say: Office 1? Yes, days 1/1/2010, 7/1/2010, etc...
Nothing else, just to know the dates.
And, if possible, make them available to display in the calendar module.
What is your suggestion?
Withs CCK and date module you can create date fields, but if you have many fields you want to add, this might not be the best solution.
You have two general ways of solving this issue. Either you need store each date. This could be done with date field, not sure if it can handle multiple values, node reference or similar. This is inefective it some ways, but will make it easy to generate calendar view.
You could also write a string with as the date info and let php convert it to dates. This route will make it easier to create and store the data, but will make it a lot harder to get things integrated with calendar.
The fatest / easiest solution would probably be node reference with a date module, combined with a script to create all the nodes need. Instead of making them inside Drupal.
You could also create a custom module that stores this info for you. It would be a more longterm solution and require more work to integrate it with views and date/calendar modules.
There are many ways to go about this, but it really depends on your need, skill and time
Why not use a plain old CCK text field with a good clear description of what it's for and how to format it with something in the help section to back it up?
Use a text area (multiple rows) and apply the default input format that converts lines line breaks. I like to use the mark down filter too.
You could also use multiple single line fields in place of a text area...
This assumes your users are smart enough to enter the correct info of course but that's what the help and description are for. If your users can't be trusted to enter the content in correctly then yes, go for something that forces them to do so.
Ok I've found the solution myself and I want to share it with you:
Created three content types:
Office: with data of the office
Days: with a node per day (365 * year)
and Giveaway: with two node-reference fields, one for Office and another for Day.
(Days must be populated manually using a script that fills the upcoming 2 years or so).
So I can fill only Giveaway content type, and that's enough.
And then only the views are remaining.