# Define your Deep Security Manager credentials and the endpoint $DSMHost = "your_dsm_host" $DSMPort = "4119" # Default port for Deep Security Manager $DSMUsername = "your_username" $DSMPassword = "your_password" $ActivateAgentEndpoint = "https://$DSMHost:$DSMPort/rest" # Function to authenticate with Deep Security Manager function Authenticate { $LoginUrl = "$ActivateAgentEndpoint/session/login" $Headers = @{ 'Content-Type' = 'application/json' } $Payload = @{ "dsCredentials" = @{ "userName" = $DSMUsername "password" = $DSMPassword } } $Response = Invoke-RestMethod -Uri $LoginUrl -Method POST -Headers $Headers -Body ($Payload | ConvertTo-Json) -UseBasicParsing if ($Response.StatusCode -eq 200) { return $Response.sessionID } else { Write-Host "Failed to authenticate. Status code: $($Response.StatusCode)" return $null } } # Function to activate an agent function Activate-Agent { param ( [string]$SessionID, [string]$AgentEndpoint ) $ActivateUrl = "$ActivateAgentEndpoint/agents/$AgentEndpoint/activate" $Headers = @{ 'Content-Type' = 'application/json' 'Cookie' = "sID=$SessionID" } $Response = Invoke-RestMethod -Uri $ActivateUrl -Method POST -Headers $Headers -UseBasicParsing if ($Response.StatusCode -eq 200) { Write-Host "Agent $AgentEndpoint activation successful!" } else { Write-Host "Failed to activate agent $AgentEndpoint. Status code: $($Response.StatusCode)" } } # Main script $SessionID = Authenticate if ($SessionID) { $AgentsToActivate = @( "agent_id_to_activate_1", "agent_id_to_activate_2", "agent_id_to_activate_3" # Add more agent IDs as needed ) foreach ($Agent in $AgentsToActivate) { Activate-Agent -SessionID $SessionID -AgentEndpoint $Agent } } else { Write-Host "Authentication failed. Please check your credentials and try again." }