powershell REST API PowerShell函数列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell REST API PowerShell函数列表相关的知识,希望对你有一定的参考价值。

# REST API PowerShell Functions List
# Last Updated:  6/21/2017
#
# Be sure to set $PVWA_URL to be global like: $Global:PVWA_URL="https://pvwa.cyberark.local"
# before calling any functions.
#
# Before each function are three (3) # and the RESTful Method it is an example of.
# Any of those functions can be copied and used as a template for other functions
# to be created that are not listed here.  If you want to add PASREST-AddAccount,
# you would copy a POST example below and modify accordingly.  But don't do that,
# I've already done that and just haven't updated this yet.

### This function is an example of POST
function PASREST-Logon {

    # Declaration
    $webServicesLogon = "$PVWA_URL/PasswordVault/WebServices/auth/Cyberark/CyberArkAuthenticationService.svc/Logon"

    # Authentication
    $bodyParams = @{username = "Svc_CyberArkAPI"; password = "Cyberark1"} | ConvertTo-JSON

    # Execution
    try {
        $logonResult = Invoke-RestMethod -Uri $webServicesLogon -Method POST -ContentType "application/json" -Body $bodyParams -ErrorVariable logonResultErr
        Return $logonResult.CyberArkLogonResult
    }
    catch {
        Write-Host "StatusCode: " $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription: " $_.Exception.Response.StatusDescription
        Write-Host "Response: " $_.Exception.Message
        Return $false
    }
}

### This function is an example of POST
function PASREST-Logoff ([string]$Authorization) {

    # Declaration
    $webServicesLogoff = "$PVWA_URL/PasswordVault/WebServices/auth/Cyberark/CyberArkAuthenticationService.svc/Logoff"

    # Authorization
    $headerParams = @{}
    $headerParams.Add("Authorization",$Authorization)

    # Execution
    try {
        $logoffResult = Invoke-RestMethod -Uri $webServicesLogoff -Method POST -ContentType "application/json" -Header $headerParams -ErrorVariable logoffResultErr
        Return $true
    }
    catch {
        Write-Host "StatusCode: " $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription: " $_.Exception.Response.StatusDescription
        Write-Host "Response: " $_.Exception.Message
        Return $false
    }
}

### This function is an example of GET
function PASREST-GetAccount ([string]$Authorization) {

    # Declaration
    $webServicesGA = "$PVWA_URL/PasswordVault/WebServices/PIMServices.svc/Accounts?Keywords=$Keywords&Safe=$Safe"

    # Authorization
    $headerParams = @{}
    $headerParams.Add("Authorization",$sessionID)

    # Execution
    try {
        $getAccountResult = Invoke-RestMethod -Uri $webServicesGA -Method GET -ContentType "application/json" -Headers $headerParams -ErrorVariable getAccountResultErr
        return $getAccountResult
    }
    catch {
        Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
        Write-Host "Response:" $_.Exception.Message
        return $false
    }
}

### This function is an example of DELETE
function PASREST-DeleteAccount ([string]$Authorization) {

    # Declaration
    $webServicesDA = "$PVWA_URL/PasswordVault/WebServices/PIMServices.svc/Accounts/$AccountID"

    # Authorization
    $headerParams = @{}
    $headerParams.Add("Authorization",$sessionID)

    # Execution
    try {
        $delAccountResult = Invoke-RestMethod -Uri $webServicesDA -Method DELETE -ContentType "application/json" -Headers $headerParams -ErrorVariable delAccountResultErr
        return $delAccountResult
    }
    catch {
        Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
        Write-Host "Response:" $_.Exception.Message
        return $false
    }
}

### This function is an example of GET
function PASREST-ListSafes ([string]$Authorization) {

    # Declaration
    $webServicesSafes = "http://components.cyberark.local/PasswordVault/WebServices/PIMServices.svc/Safes"

    # Authorization
    $headerParams = @{}
    $headerParams.Add("Authorization",$sessionID)

    # Execution
    try {
        $safesListResult = Invoke-RestMethod -Uri $webServicesSafes -Method GET -ContentType "application/json" -Headers $headerParams -ErrorVariable safesListResultErr
        return $safesListResult
    }
    catch {
        Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
        Write-Host "Response:" $_.Exception.Message
        return $false
    }
}

### This function is an example of POST
function PASREST-AddUser ([string]$Authorization,[string]$userName,[string]$email,[string]$firstName,[string]$lastName) {

    # Declaration
    $webServicesAddUser = "$PVWA_URL/PasswordVault/WebServices/PIMServices.svc/Users"

    # Authorization
    $headerParams = @{}
    $headerParams.Add("Authorization",$sessionID)
    $bodyParams = @{username = $userName; initialPassword = "Cyberark1"; email = $email;`
    firstName = $firstName; lastName = $lastName; changePasswordOnTheNextLogon = $true; userTypeName = "EPVUser"} | ConvertTo-JSON

    # Execution
    try {
        $addUserResult = Invoke-RestMethod -Uri $webServicesAddUser -Method POST -ContentType "application/json" -Header $headerParams -Body $bodyParams -ErrorVariable addUserResultErr
        return $addUserResult
    }
    catch {
        Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
        Write-Host "Response:" $_.Exception.Message
        return $false
    }
}

### This function is an example of POST
function PASREST-AddUserToGroup ([string]$Authorization,[string]$userName,[string]$groupName) {

    # Declaration
    $webServicesAUTG = "$PVWA_URL/PasswordVault/WebServices/PIMServices.svc/Groups/$groupName/Users"

    # Authorization
    $headerParams = @{}
    $headerParams.Add("Authorization",$sessionID)
    $bodyParams = @{UserName = "TestUser"} | ConvertTo-JSON

    # Execution
    try {
        $autgResult = Invoke-RestMethod -Uri $webServicesAUTG -Method POST -ContentType "application/json" -Header $headerParams -Body $bodyParams -ErrorVariable logonResultErr
        return $autgResult
    }
    catch {
        Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
        Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
        Write-Host "Response:" $_.Exception.Message
        return $false
    }
}

以上是关于powershell REST API PowerShell函数列表的主要内容,如果未能解决你的问题,请参考以下文章

使用 Power 查询访问 Post Rest Api

powershell REST API PowerShell函数列表

使用 Power Query 通过 REST API 查询分页 XML

Node js App 与 power bi rest Api 的集成

Power Query 缺少对 Windows 身份验证和 REST API POST 正文的支持

如何使用 REST API 在 PowerShell 中获取 TFS 构建报告 [重复]