I know this is a very old post, but 
1. how did you get the rest call to work with invoke-restmethod from 
powershell?
or 
2. how do you communicate with foreman via a cli in powershell?

I have hammer cli and hammer cli foreman installed but not sure how to 
access this from powershell?

Thank you, I have tried following the hammer cli docs and various others 
but not grasping it.

THank you very much



On Thursday, February 5, 2015 at 11:04:53 PM UTC-6, Corey Osman wrote:

> Why mess with curl?  You can install the hammer_cli and foreman_hammer_cli 
> to communicate with foreman via a cli in powershell.  
>
> Its pretty badass and no need to work with curl.
>
> Corey
>
> On Tuesday, January 13, 2015 at 11:02:37 AM UTC-8, Schorschi Decker wrote:
>>
>> Ok, this is really kicking me in the backside...  I can't seem to get a 
>> Foreman REST API query to work from PowerShell?  Here is the query I am 
>> trying to do:
>>
>> # curl --user admin:password -H "Content-Type:application/json" -H 
>> "Accept:application/json" -k https://foreman/api/v2/hosts
>>
>> Here is the PowerShell script:
>>
>> #[System.Net.ServicePointManager]::ServerCertificateValidationCallback = 
>> {$true}
>>
>> add-type @"
>>     using System.Net;
>>     using System.Security.Cryptography.X509Certificates;
>>
>>     public class TrustAllCertsPolicy : ICertificatePolicy {
>>         public bool CheckValidationResult(
>>             ServicePoint srvPoint, X509Certificate certificate,
>>             WebRequest request, int certificateProblem) {
>>             return true;
>>         }
>>     }
>> "@
>>
>> [System.Net.ServicePointManager]::CertificatePolicy = New-Object 
>> TrustAllCertsPolicy
>>
>> $dictionary=@{}
>> $username = "root" 
>> $password = "password" 
>> $uri = "https://foreman/api/v2/hosts";
>> $dictionary = New-Object 
>> "System.Collections.Generic.Dictionary[[String],[String]]" 
>> #$base64AuthInfo = 
>> [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f 
>> $username,$password))) 
>> $base64AuthInfo = 
>> [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(("{0}:{1}" -f 
>> $username,$password)))
>> $dictionary.Add("Authorization","$base64AuthInfo")
>> $dictionary.Add("Accept","application/json")
>> Invoke-RestMethod -Uri $uri -Headers $dictionary -ContentType 
>> "application/json" -Method GET -Verbose
>> #Invoke-WebRequest -Uri $uri -Headers $dictionary -ContentType 
>> "application/json" -Method GET -Verbose
>>
>> Invoke-RestMethod and Invoke-WebRequest both fail with the same error...
>>
>> VERBOSE: GET https://foreman/api/v2/hosts with 0-byte payload
>>
>> Invoke-RestMethod : The underlying connection was closed: An unexpected 
>> error occurred on a send.At line:38 char:1
>> + Invoke-RestMethod -Uri $uri -Headers $dictionary -ContentType 
>> "application/json" ...
>> + 
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>     + CategoryInfo          : InvalidOperation: 
>> (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
>>     + FullyQualifiedErrorId : 
>> WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
>>
>> Any help appreciated!
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-users+unsubscr...@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to