Facebook
From tredn, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 180
  1. # Define your Deep Security Manager credentials and the endpoint
  2. $DSMHost = "your_dsm_host"
  3. $DSMPort = "4119"  # Default port for Deep Security Manager
  4. $DSMUsername = "your_username"
  5. $DSMPassword = "your_password"
  6. $ActivateAgentEndpoint = "https://$DSMHost:$DSMPort/rest"
  7.  
  8. # Function to authenticate with Deep Security Manager
  9. function Authenticate {
  10.     $LoginUrl = "$ActivateAgentEndpoint/session/login"
  11.     $Headers = @{
  12.         'Content-Type' = 'application/json'
  13.     }
  14.     $Payload = @{
  15.         "dsCredentials" = @{
  16.             "userName" = $DSMUsername
  17.             "password" = $DSMPassword
  18.         }
  19.     }
  20.     $Response = Invoke-RestMethod -Uri $LoginUrl -Method POST -Headers $Headers -Body ($Payload | ConvertTo-Json) -UseBasicParsing
  21.     if ($Response.StatusCode -eq 200) {
  22.         return $Response.sessionID
  23.     } else {
  24.         Write-Host "Failed to authenticate. Status code: $($Response.StatusCode)"
  25.         return $null
  26.     }
  27. }
  28.  
  29. # Function to activate an agent
  30. function Activate-Agent {
  31.     param (
  32.         [string]$SessionID,
  33.         [string]$AgentEndpoint
  34.     )
  35.     $ActivateUrl = "$ActivateAgentEndpoint/agents/$AgentEndpoint/activate"
  36.     $Headers = @{
  37.         'Content-Type' = 'application/json'
  38.         'Cookie' = "sID=$SessionID"
  39.     }
  40.     $Response = Invoke-RestMethod -Uri $ActivateUrl -Method POST -Headers $Headers -UseBasicParsing
  41.     if ($Response.StatusCode -eq 200) {
  42.         Write-Host "Agent $AgentEndpoint activation successful!"
  43.     } else {
  44.         Write-Host "Failed to activate agent $AgentEndpoint. Status code: $($Response.StatusCode)"
  45.     }
  46. }
  47.  
  48. # Main script
  49. $SessionID = Authenticate
  50. if ($SessionID) {
  51.     $AgentsToActivate = @(
  52.         "agent_id_to_activate_1",
  53.         "agent_id_to_activate_2",
  54.         "agent_id_to_activate_3"
  55.         # Add more agent IDs as needed
  56.     )
  57.     foreach ($Agent in $AgentsToActivate) {
  58.         Activate-Agent -SessionID $SessionID -AgentEndpoint $Agent
  59.     }
  60. } else {
  61.     Write-Host "Authentication failed. Please check your credentials and try again."
  62. }
  63.