Dela via


Publicera artefakter för anpassade datorkonfigurationspaket

Innan du börjar är det en bra idé att läsa översiktssidan för datorkonfiguration.

Anpassade .zip paket för datorkonfiguration måste lagras på en plats som är tillgänglig via HTTPS av de hanterade datorerna. Exempel är GitHub-lagringsplatser, en Azure-lagringsplats, Azure Storage eller en webbserver i ditt privata datacenter.

Konfigurationspaket som stöder Audit och AuditandSet publiceras på samma sätt. Du behöver inte göra något speciellt under publiceringen baserat på paketläget.

Publicera ett konfigurationspaket

Den bästa platsen för att lagra ett konfigurationspaket är Azure Blob Storage. Det finns inga särskilda krav för lagringskontot, men det är en bra idé att vara värd för filen i en region nära dina datorer. Om du föredrar att inte göra paketet offentligt kan du inkludera en SAS-token i URL:en eller implementera en tjänstslutpunkt för datorer i ett privat nätverk.

Om du vill publicera konfigurationspaketet till Azure Blob Storage kan du följa de här stegen, som använder Az.Storage-modulen .

Om du inte har något lagringskonto använder du följande exempel för att skapa ett.

# Creates a new resource group, storage account, and container
$ResourceGroup = '<resource-group-name>'
$Location      = '<location-id>'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

$newAccountParams = @{
    ResourceGroupname = $ResourceGroup
    Location          = $Location
    Name              = '<storage-account-name>'
    SkuName           = 'Standard_LRS'
}
$container = New-AzStorageAccount @newAccountParams |
    New-AzStorageContainer -Name machine-configuration -Permission Blob

Hämta sedan kontexten för det lagringskonto som du vill lagra paketet i. Om du skapade lagringskontot i det tidigare exemplet kan du hämta kontexten från lagringscontainerobjektet som sparats i variabeln $container :

$context = $container.Context

Om du använder en befintlig lagringscontainer kan du använda containerns anslutningssträng med cmdletenNew-AzStorageContext:

$connectionString = @(
    'DefaultEndPointsProtocol=https'
    'AccountName=<storage-account-name>'
    'AccountKey=<storage-key-for-the-account>' # ends with '=='
) -join ';'
$context = New-AzStorageContext -ConnectionString $connectionString

Lägg sedan till konfigurationspaketet till lagringskontot. I det här exemplet laddas zip-filen ./MyConfig.zip upp till blobcontainern machine-configuration.

$setParams = @{
    Container = 'machine-configuration'
    File      = './MyConfig.zip'
    Context   = $context
}
$blob = Set-AzStorageBlobContent @setParams
$contentUri = $blob.ICloudBlob.Uri.AbsoluteUri

Kommentar

Om du kör de här exemplen i Cloudshell men har skapat zip-filen lokalt kan du ladda upp filen till Cloudshell.

Även om nästa steg är valfritt bör du lägga till en SAS-token (signatur för delad åtkomst) i URL:en för att säkerställa säker åtkomst till paketet. Exemplet nedan genererar en BLOB SAS-token med läsåtkomst och returnerar den fullständiga blob-URI:n med signaturtoken för delad åtkomst. I det här exemplet har token en tidsgräns på tre år.

$startTime = Get-Date
$endTime   = $startTime.AddYears(3)

$tokenParams = @{
    StartTime  = $startTime
    ExpiryTime = $endTime
    Container  = 'machine-configuration'
    Blob       = 'MyConfig.zip'
    Permission = 'r'
    Context    = $context
    FullUri    = $true
}
$contentUri = New-AzStorageBlobSASToken @tokenParams

Viktigt!

När du har skapat SAS-token noterar du den returnerade URI:n. Du kan inte hämta token när du har skapat den. Du kan bara skapa nya token. Mer information om SAS-token finns i Bevilja begränsad åtkomst till Azure Storage-resurser med hjälp av signaturer för delad åtkomst (SAS).

Gå vidare