Here's a sample script that shows how to enable/disable a host through PowerCLI.
# Connect to the vCloud director and store the connection (you can also acquire it from $global:DefaultCIServers).
# You'll need to connect as an administrator
$server = Connect-CIServer ...
# Acquire the extension API object (it holds the references to the hosts)
$extension = $server.ExtensionData.GetAdmin().GetExtension()
# Get the host references
$hosts = $extension.GetHostReferences()
# Get the reference to the host you need
$hostRef = $hosts.HostReference | where { $_.Name -eq "192.168.0.1"}
# Since this is just a reference to the host, you'll need to acquire the host object itself (also known as host "view")
# Normally this is done by using Get-CIView and passing the Id/href to the -Id parameter of the cmdlet like this: Get-CIView -Id $hostRef.Href
# But since this is a Reference object, we've created an easier way to get the corresponding view:
$myHost = $hostRef.GetCIView()
# Now you can enable or disable the host
$myHost.Enable()
$myHost.Disable()
However I'm not sure about the "Redeploy All VMs". I think this can be accomplished through the vCenter Server, by issuing EnterMaintenanceMode on the host (can be done through PowerCLI), but I'm not sure whether you can do it from the vCloud Director API.