Puncte:0

Instalarea O365 prin powershell în interiorul unui ISO

drapel us

Am creat un program de instalare Office 365 unde face instalarea locală și schimbă dinamic SourcePath și trebuie să îl rulez dintr-un fișier ISO (în mod normal folosesc USB-uri, dar în VM-uri folosesc ISO)

Rulând local în orice director sau USB funcționează perfect, dar dintr-un ISO nu, apare eroarea:

Set-Content : accesul la calea „C:\Users\Administrator\AppData\Local\Temp\tmpoffice\configuration.xml” a fost refuzat. Nu E:\SMS\PKG\CM10017B\InstallOffice_OfflineMode.ps1:24 caracter:164
+ ... fficeMgmtCOM="TRUE" SourcePath="'+$PS1dirEOL) | Set-Content $tempconf
+ ~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo: NotSpecified: (:) [Set-Content], UnauthorizedAccessException
     + FullyQualifiedErrorId: System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetContentCommand

Cum fac ca acest lucru să funcționeze și în cadrul unui ISO? Știu că un ISO este doar pentru citire, dar mi s-a părut ciudat că ar încerca să modifice ceva care nu este în ISO, ci într-un director temporar și încă nu poate.

$PS1dir = Obține locație

#Căile configurației
$tempdir = "$env:TEMP\tmpooffice"
$conf = „$($PS1dir)\configuration.xml”
$tempconf = "$env:TEMP\tmpooffice\configuration.xml"

#Calea curentă cu capătul reformat al liniei XML
$PS1dirEOL = "$($PS1dir)`" `AllowCdnFallback=`"TRUE`">"

#Copiați fișierul de configurare pentru folderul temp și setați variabila pentru același
Copy-Item $conf -Destination (New-Item -Path $tempdir -Type Directory -Force) -Recurse -Force

#Înlocuiește linia veche cu folderul curent
(Get-Content $tempconf) -inlocuire „<Add OfficeClientEdition=.*”, („<Add OfficeClientEdition="64" Channel="Current" OfficeMgmtCOM="TRUE" SourcePath="'+$PS1dirEOL) | Set-Content $ tempconf

# Rulează instalarea O365 din noul fișier de configurare
Start-Process cmd.exe -ArgumentList "/c start /MIN $($PS1dir)\setup.exe /configure $tempconf" -Așteptați

Remove-Item -Path $tempdir -Force -Recurse
drapel in
Defender este activ? În ultimul timp, găsesc mai des că Defender împiedică accesul la fișiere și directoare care nu ar trebui să fie o problemă. Și nu afișează întotdeauna o notificare.
AegisShimon avatar
drapel us
Da, este activat, dar este bizar să fie nevoie să dezactivezi defender pentru a copia un fișier într-un folder temporar, având în vedere că făcând asta fără a fi dintr-un ISO nu se întâmplă această problemă. Comanda care eșuează pare să fie Set-Content, dar când am analizat mai mult, nici măcar nu copiază fișierul în folderul temporar, ceea ce este foarte ciudat.
Puncte:0
drapel in

Problema este că fișierul este doar pentru citire. Toate fișierele de pe imaginile .iso primesc atributul readonly, iar atributul este păstrat atunci când copiați fișierul. Trebuie să îl eliminați înainte de a putea edita fișierul.

Set-ItemProperty $tempconf -Name IsReadOnly -Value $false

Dar aceasta nu este singura problemă. După eliminarea atributului ReadOnly, veți întâlni următoarea eroare, care vă va spune că nu poate scrie în fișier deoarece este utilizat de un alt proces (deoarece Obține conținut este încă activ). Va trebui să utilizați o variabilă temporară.

$conf = (Obține conținut $tempconf) -înlocuiește „<Add OfficeClientEdition=.*”, („<Add OfficeClientEdition="64" Channel="Current" OfficeMgmtCOM="TRUE" SourcePath="'+$PS1dirEOL)
$conf | Set-Conținut $tempconf
AegisShimon avatar
drapel us
Perfect, asta chiar mi-a rezolvat problema, MULȚUMESC MULT!, am profitat de ocazie și am schimbat numele variabilelor pentru a fi mai mult în cele mai bune practici, iar acum pot face instalarea folosind un SourcePath într-un ISO offline SCCM (pentru că înainte nu era posibil, deoarece SCCM schimbă calea Office SMS PKG tot timpul în timpul instalării)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.