Random Color
The Random Color procedural generates a variation of color in the ranges specified by the user in the hue, saturation and value parameters. The random colors are based on the Seed parameter and the object ID of the object and additionally, it can also generate color variation per UV tile. The color variations are predictable, so with the same seed, you obtain always the same result, making it coherent in animations. Also, if you make two objects have the same object ID, you will get the same variation in both so you can also tune the result up manually.
One material and one tree with random color procedural scattered over one object
You can find this texture in the Texture Picker window > Procedurals section > New dropdown menu, with the name of RandomColor. Selecting it will open a new window with the following parameters, to configure a random HSV color: