One way of doing this would be through the use of permssions and privileges.
Create a special role with the rename and poweroff privileges, and give a permission with that role to a limited set of users.
All other users should have a permission with a role that doesn't have these privileges.
To create the special role, you could do
$tgt = "VirtualMachine.Config.Rename","VirtualMachine.Interact.PowerOff"
$privs = Get-VIPrivilege | where {$tgt -contains $_.Id}
New-VIRole -Name Special -Privilege $privs