That is a very broad question.
The New-Harddisk (for harddisks) and Set-VM (for CPU and memory) cmdlets should do the trick.
Note that if you want to enable the hot-add feature, the VM will need to power off/power on.
You will need to give more details.
Are the VMs that need changes in a list, a CSV perhaps?
Should the hot-add feature be enabled?
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference