<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>azure blob Archives | XOAP</title>
	<atom:link href="https://dev.xoap.io/fr/tag/azure-blob/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev.xoap.io/fr/tag/azure-blob/</link>
	<description>Plate-forme pour l'infrastructure informatique et l'automatisation du lieu de travail</description>
	<lastbuilddate>Tue, 03 Feb 2026 12:20:19 +0000</lastbuilddate>
	<language>fr-FR</language>
	<sy:updateperiod>
	horaire	</sy:updateperiod>
	<sy:updatefrequency>
	1	</sy:updatefrequency>
	

<image>
	<url>https://dev.xoap.io/wp-content/uploads/2023/11/cropped-favicon-32x32.png</url>
	<title>azure blob Archives | XOAP</title>
	<link>https://dev.xoap.io/fr/tag/azure-blob/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Offline Domain Join using XOAP and Azure Blob storage</title>
		<link>https://dev.xoap.io/fr/offline-domain-join-xoap-azure-blob/</link>
		
		<dc:creator><![CDATA[Perica]]></dc:creator>
		<pubdate>Thu, 29 Feb 2024 12:27:02 +0000</pubdate>
				<category><![CDATA[Library]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[azure blob]]></category>
		<category><![CDATA[dsc]]></category>
		<category><![CDATA[xoap]]></category>
		<guid ispermalink="false">https://dev.xoap.io/?p=8602</guid>

					<description><![CDATA[<p>Utilisez le module Offline Domain Join pour joindre un domaine à un appareil qui n'a pas accès au contrôleur de domaine. Télécharger ici gratuitement !</p>
<p>The post <a href="https://dev.xoap.io/fr/offline-domain-join-xoap-azure-blob/">Offline Domain Join using XOAP and Azure Blob storage</a> appeared first on <a href="https://dev.xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="8602" class="elementor elementor-8602" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-311f07f2 e-flex e-con-boxed e-con e-parent" data-id="311f07f2" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6187fbc3 elementor-widget elementor-widget-text-editor" data-id="6187fbc3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Notre module vous permet de joindre un domaine à un appareil qui n'a pas accès au contrôleur de domaine (via le réseau de l'entreprise ou via un VPN). Il s'agit d'un <strong>alternative</strong> à l'utilisation <strong>Azure Hybrid Join</strong>.</p><p>Alors que Azure Hybrid Join ajoute un appareil à Azure AD (Entra) et à AD local, cette option permet de joindre un appareil à AD local uniquement. Par ailleurs, Hybrid Join est limité en ce qui concerne la convention de dénomination et ne permet de définir que le préfixe.</p><p>Avec cette solution, il est possible de définir un préfixe et d'utiliser un numéro de série d'ordinateurs pour le nom de l'ordinateur.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ce27097 elementor-widget elementor-widget-text-editor" data-id="ce27097" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2>À qui cela s'adresse-t-il ?</h2>								</div>
				</div>
				<div class="elementor-element elementor-element-77fc1c9 elementor-widget elementor-widget-text-editor" data-id="77fc1c9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Vous pouvez bénéficier de l'utilisation de ce module, que vous soyez ou non un utilisateur de XOAP. Voici comment :</p><p><strong>a)</strong> Si vous êtes un utilisateur XOAP, il vous suffit de configurer les clients Windows pour l'utilisation de Offline Domain Join via Azure Blob Storage à l'aide de ce module et de la console XOAP.</p><p><strong>b)</strong> Si vous n'êtes pas un utilisateur XOAP, utilisez ce module dans votre propre environnement DSC, ou utilisez des scripts PowerShell dans ce module pour créer leur propre alternative d'automatisation pour Offline Domain Join.</p><p>Vous voulez découvrir tout ce que XOAP a à offrir ? <a href="https://auth.dev.xoap.io/auth/realms/my.dev.xoap.io/protocol/openid-connect/registrations?client_id=portal&amp;response_type=code&amp;scope=openid%20email&amp;redirect_uri=https://my.dev.xoap.io&amp;kc_locale=en&amp;_ga=2.190779107.97889014.1728977515-2092130983.1728977514" target="_blank" rel="noopener">Créez votre compte gratuit ici</a>!</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9ab7f2d elementor-widget elementor-widget-text-editor" data-id="9ab7f2d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2>Que fait ce module ?</h2>								</div>
				</div>
				<div class="elementor-element elementor-element-455c3f9 elementor-widget elementor-widget-text-editor" data-id="455c3f9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Pour expliquer plus en détail, ce module renommera l'ordinateur en utilisant le numéro de série et le préfixe défini. Ensuite, il effectuera une jointure de domaine hors ligne de l'appareil via le stockage Azure Blob ; si vous le souhaitez.</p><p>L'ordinateur crée une demande et la publie à un emplacement défini sur Azure Blob. Ensuite, le contrôleur de domaine prend cette demande et publie une réponse sur Azure Blob. Ce fichier de réponse est ensuite lu par un ordinateur - et l'ordinateur effectue une connexion hors ligne au domaine. En outre, le certificat sera importé depuis Azure Blob.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-414a822 elementor-widget elementor-widget-text-editor" data-id="414a822" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2>Que dois-je savoir avant de commencer ?</h2>								</div>
				</div>
				<div class="elementor-element elementor-element-3580c60 elementor-widget elementor-widget-text-editor" data-id="3580c60" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Pour comprendre comment l'utiliser, il faut connaître PowerShell, Active Directory et Azure Storage, ainsi que ces trois composants :</p><ol><li>Côté serveur : modifier le contrôleur de domaine pour permettre la jonction de domaines hors ligne</li><li>Azure Blob Storage : stockage pour héberger les fichiers nécessaires à la jonction de domaines hors ligne.</li><li>XOAPOfflineDomainJoinViaBlobDSC : pour configurer le client Windows afin qu'il crée une requête et récupère la réponse pour la jonction de domaines hors ligne.</li></ol>								</div>
				</div>
				<div class="elementor-element elementor-element-c51a707 elementor-widget elementor-widget-text-editor" data-id="c51a707" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3>Liste des prérequis :</h3>								</div>
				</div>
				<div class="elementor-element elementor-element-cd1f4f7 elementor-widget elementor-widget-text-editor" data-id="cd1f4f7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul type="disc"><li lang="de">AzureAZ PowerShell Module (si les sous-modules 'Az.Accounts' et 'Az.Storage' ne sont pas installés, ils le seront lors de l'exécution de ce module DSC) ;  </li><li lang="de">ComputerManagementDsc dans la version 8.5.0 ; </li><li lang="de">Stockage Azure Blob ; </li><li lang="de">Active Directory local ; </li><li lang="de">Script PowerShell qui lit la demande depuis Azure Blob Storage et définit le fichier de réponse et le certificat de machine dans Azure Blob Storage (exemple ci-dessous).</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-c2b0b0f elementor-widget elementor-widget-code-highlight" data-id="c2b0b0f" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard word-wrap">
			<pre data-line="" class="highlight-height language-javascript line-numbers">
				<code readonly="true" class="language-javascript">
					$WarningPreference = "SilentlyContinue" $Domain = "test.local.com" $OU = "OU=Notebooks,OU=Koeln,DC=test,DC=local,DC=com" $Tenant_ID = "xxxxxxxx-xxxx-xxxx-xxxxxxxx" $Subscription_ID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" $ResUsername = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" $SAccountname = 'xoapdeployments' $ContainerName = "adjoin" $FExt = ".blb" $BlobFolder = "adblob" $RequestFolder = "request" $JoinName =" Set-Location C:\Scripts #SecPass.exe génère le mot de passe pour l'accès Azure $SecPassStr = cmd /c .\SecPass.exe $args 2`&gt;`&amp;1 $cred = New-Object System.Management.Automation.Pscredential($ResUsername, (ConvertTo-SecureString -String $SecPassStr)) $ARMA = Add-AzureRmAccount -ServicePrincipal -Credential $cred -TenantId $Tenant_ID -Subscription $Subscription_ID $ARMA $storageContainer = Get-AzureRmStorageAccount | where {$_.StorageAccountName -eq $SAccountname} | Get-AzureStorageContainer $ComputerFiles = $storageContainer | Get-AzureStorageBlob | where {$_.Name.Contains($RequestFolder) -and !($_.Name.Contains("flag.flg"))}  | Select-Object "Name" , "LastModified" # $ComputerFiles if($ComputerFiles) { foreach($Computerfile in $ComputerFiles) { $JoinName = $ComputerFile.Name.Replace("/", "\") # $JoinName $storageContainer | Remove-AzureStorageBlob -Container $ContainerName -Blob ($JoinName) -Force $JoinName = $JoinName.SubString(8) $ADblobfile = $Computername + ".blob" -f $computer $BlobName = ".\" + $JoinName = $ComputerFile + $JoinName. + $JoinName + $FExt # $BlobName $run = "djoin.exe /provision /domain {0} /MachineOU {1} /machine {2} /savefile {3} /reuse /rootcacerts" -f $Domain, $OU, $JoinName, $BlobName # $run Invoke-Expression $run $StorageBlob = $BlobFolder + "\" + $JoinName + $FExt # $Storage $storageContainer | Set-AzureStorageBlobContent -File $BlobName -Blob $StorageBlob -Properties @{"ContentType" = "text/plain"}         $storageContainer | Remove-AzureStorageBlob -Blob ($RequestFolder + "\" + $JoinName) -Force Remove-Item -Path $BlobName } } Remove-AzureRmAccount -Username $ResUsername
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4c87420 elementor-widget elementor-widget-text-editor" data-id="4c87420" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3>Ressources et syntaxe disponibles</h3>								</div>
				</div>
				<div class="elementor-element elementor-element-1b21125 elementor-widget elementor-widget-code-highlight" data-id="1b21125" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard">
			<pre data-line="" class="highlight-height language-javascript line-numbers">
				<code readonly="true" class="language-javascript">
					OfflineDomainJoinViaBlob [String] #ResourceName { [DependsOn = [String[]]] [PsDscRunAsCredential = [PSCredential]] Tenant_ID = [String] Subscription_ID = [String] Username = [String] Password = [String] SAccountname = [String]     ContainerName = [String] RequestFolder = [String] BlobFolder = [String] CertFolder = [String] [TimeoutInMinutes = [Int32]] [RenameComputerUsingSerial = [Boolean]] [ComputerNamePrefix = [String]] [RebootAfterDomainJoin = [Boolean]] }
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-fff0e5e elementor-widget elementor-widget-text-editor" data-id="fff0e5e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p lang="de">Saccountname = Nom du compte de stockage</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e7249c8 elementor-widget elementor-widget-text-editor" data-id="e7249c8" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Prêt à commencer ? <strong>Download this module below! <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f5b1.png" alt="🖱" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong></p>								</div>
				</div>
				<div class="elementor-element elementor-element-5469ff6 elementor-widget elementor-widget-spacer" data-id="5469ff6" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-cac3a4c e-con-full e-flex e-con e-parent" data-id="cac3a4c" data-element_type="container" data-e-type="container" id="download" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
		<div class="elementor-element elementor-element-5056cb4 e-flex e-con-boxed e-con e-child" data-id="5056cb4" data-element_type="container" data-e-type="container" id="download-fslogix" data-settings="{&quot;background_background&quot;:&quot;gradient&quot;,&quot;jet_parallax_layout_list&quot;:[]}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-57f535b e-con-full e-flex e-con e-child" data-id="57f535b" data-element_type="container" data-e-type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-e376ebc elementor-hidden-mobile elementor-widget elementor-widget-image" data-id="e376ebc" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="996" height="1024" src="https://dev.xoap.io/wp-content/uploads/2024/01/download-996x1024.png" class="attachment-large size-large wp-image-5408" alt="Download illustration" srcset="https://dev.xoap.io/wp-content/uploads/2024/01/download-996x1024.png 996w, https://dev.xoap.io/wp-content/uploads/2024/01/download-292x300.png 292w, https://dev.xoap.io/wp-content/uploads/2024/01/download-768x790.png 768w, https://dev.xoap.io/wp-content/uploads/2024/01/download.png 1024w" sizes="(max-width: 996px) 100vw, 996px" />															</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-ddda84d e-con-full e-flex e-con e-child" data-id="ddda84d" data-element_type="container" data-e-type="container" data-settings="{&quot;jet_parallax_layout_list&quot;:[]}">
				<div class="elementor-element elementor-element-a6995ad elementor-widget elementor-widget-heading" data-id="a6995ad" data-element_type="widget" data-e-type="widget" data-settings="{&quot;_animation&quot;:&quot;none&quot;,&quot;_animation_tablet&quot;:&quot;fadeInDown&quot;}" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Télécharger Offline Domain Join</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-26891d2 animated-slow elementor-widget__width-initial elementor-mobile-button-align-stretch elementor-invisible elementor-widget elementor-widget-form" data-id="26891d2" data-element_type="widget" data-e-type="widget" data-settings="{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}" data-widget_type="form.default">
				<div class="elementor-widget-container">
							<form class="elementor-form" method="post" name="Download" aria-label="Télécharger" action="">
			<input type="hidden" name="post_id" value="8602"/>
			<input type="hidden" name="form_id" value="26891d2"/>
			<input type="hidden" name="referer_title" value="azure blob Archives | XOAP" />

			
			<div class="elementor-form-fields-wrapper elementor-labels-">
								<div class="elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_fullname elementor-col-50">
												<label for="form-field-field_fullname" class="elementor-field-label elementor-screen-only">
								Nom complet							</label>
														<input size="1" type="text" name="form_fields[field_fullname]" id="form-field-field_fullname" class="elementor-field elementor-size-md  elementor-field-textual" placeholder="Nom complet">
											</div>
								<div class="elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-50 elementor-field-required">
												<label for="form-field-email" class="elementor-field-label elementor-screen-only">
								Courriel							</label>
														<input size="1" type="email" name="form_fields[email]" id="form-field-email" class="elementor-field elementor-size-md  elementor-field-textual" placeholder="Courriel" required="required">
											</div>
								<div class="elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_b20a517 elementor-col-100">
					En téléchargeant, vous acceptez les conditions d'utilisation de XOAP <a href="https://dev.xoap.io/fr/data-protection/" target="_blank"> politique de confidentialité</a> et recevra de notre part des informations sur les produits.				</div>
								<div class="elementor-field-type-recaptcha_v3 elementor-field-group elementor-column elementor-field-group-field_1eb3fa3 elementor-col-100 recaptcha_v3-bottomright">
					<div class="elementor-field" id="form-field-field_1eb3fa3"><div class="elementor-g-recaptcha" data-sitekey="6Ld61w4pAAAAAGfjGrvIDymMiqJJ6ghZ58D6BIro" data-type="v3" data-action="Form" data-badge="bottomright" data-size="invisible"></div></div>				</div>
								<div class="elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons">
					<button class="elementor-button elementor-size-md" type="submit">
						<span class="elementor-button-content-wrapper">
															<span class="elementor-button-icon">
									<svg aria-hidden="true" class="e-font-icon-svg e-fas-file-download" viewbox="0 0 384 512" xmlns="http://www.w3.org/2000/svg"><path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"></path></svg>																	</span>
																						<span class="elementor-button-text">Télécharger maintenant</span>
													</span>
					</button>
				</div>
			</div>
		<input type="hidden" name="trp-form-language" value="fr"/></form>
						</div>
				</div>
				</div>
					</div>
				</div>
				</div>
				</div><p>The post <a href="https://dev.xoap.io/fr/offline-domain-join-xoap-azure-blob/">Offline Domain Join using XOAP and Azure Blob storage</a> appeared first on <a href="https://dev.xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>