Allow passing connection info as string params, better instructions
This commit is contained in:
parent
19c89ed3e6
commit
6d5d696012
3 changed files with 36 additions and 9 deletions
|
@ -12,7 +12,7 @@
|
|||
RootModule = 'AppleBusinessManager.psm1'
|
||||
|
||||
# Version number of this module.
|
||||
ModuleVersion = '1.0'
|
||||
ModuleVersion = '1.1'
|
||||
|
||||
# Supported PSEditions
|
||||
# CompatiblePSEditions = @()
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
#Requires -Version 7.0
|
||||
#Requires -Module jwtPS
|
||||
function Connect-AppleBusinessManager {
|
||||
[CmdletBinding(DefaultParameterSetName = 'EnvironmentVariable')]
|
||||
param(
|
||||
[string][Parameter(ParameterSetName = 'PrivateKeyAsString', Mandatory)]$ClientId,
|
||||
[string][Parameter(ParameterSetName = 'PrivateKeyAsString', Mandatory)]$PrivateKey,
|
||||
[string][Parameter(ParameterSetName = 'PrivateKeyAsString', Mandatory)]$PrivateKeyId
|
||||
)
|
||||
if ($PSCmdlet.ParameterSetName -eq 'EnvironmentVariable') {
|
||||
if (-not $Env:AppleBusinessManagerClientId -or -not $Env:AppleBusinessManagerPrivateKeyId -or -not $Env:AppleBusinessManagerPrivateKey) {
|
||||
throw "Client ID, Private Key ID and Private Key environment variables were not set for Apple Business Manager"
|
||||
}
|
||||
$Script:ClientId = $Env:AppleBusinessManagerClientId
|
||||
$Script:PrivateKey = $Env:AppleBusinessManagerPrivateKey
|
||||
$Script:PrivateKeyId = $Env:AppleBusinessManagerPrivateKeyId
|
||||
|
||||
}
|
||||
$Header = @{
|
||||
'kid' = $Script:PrivateKeyId
|
||||
}
|
||||
|
|
24
README.md
24
README.md
|
@ -1,3 +1,23 @@
|
|||
# Apple Business Manager API Module for PowerShell
|
||||
To use this module, you'll need to convert the private key from Apple to a .NET friendly format:
|
||||
```openssl pkcs8 -topk8 -inform PEM -outform PEM -in [path to your key from Apple] -out [path to where you want to save the converted key] -nocrypt```
|
||||
PowerShell Module that authenticates and gets data from the Apple Business Manager APIs
|
||||
## Installing the module
|
||||
This module can be installed [from the PowerShell Gallery][powershell-gallery] using the following command:
|
||||
```PowerShell
|
||||
Install-Module -Name AMBPS
|
||||
```
|
||||
## Converting your private key
|
||||
The private key that you can download from the Apple Business Manager portal isn't in a format that is currently supported. To use this module, you'll need to convert it, for example, using openssl:
|
||||
```shell
|
||||
openssl pkcs8 -topk8 -inform PEM -outform PEM -in FROM_APPLE_PATH.pem -out CONVERTED_PATH.pem -nocrypt
|
||||
```
|
||||
# Using the module
|
||||
After converting, you can connect to Apple Business Manager's APIs with the following commands, then use other commands to retrieve data:
|
||||
```PowerShell
|
||||
$PrivateKey = (Get-Content -Path 'CONVERTED_PATH.pem') -join ''
|
||||
|
||||
Connect-AppleBusinessManager -ClientId 'YOUR_CLIENT_ID' -PrivateKey $PrivateKey -PrivateKeyId 'YOUR_PRIVATE_KEY_ID'
|
||||
|
||||
Get-AppleBusinessManagerOrgDevices
|
||||
```
|
||||
|
||||
[powershell-gallery]: https://www.powershellgallery.com/packages/ABMPS/
|
Loading…
Add table
Add a link
Reference in a new issue