Tôi đã tạo một trình cài đặt Office 365 để cài đặt cục bộ và tự động thay đổi SourcePath và tôi cần chạy nó từ một tệp ISO (tôi thường sử dụng USB, nhưng trong VM tôi sử dụng ISO)
Chạy cục bộ trong bất kỳ thư mục hoặc USB nào, nó hoạt động hoàn hảo, nhưng từ ISO thì không, lỗi xuất hiện:
Set-Content: Truy cập vào đường dẫn 'C:\Users\Administrator\AppData\Local\Temp\tmpoffice\configuration.xml' đã bị từ chối. Không E:\SMS\PKG\CM10017B\InstallOffice_OfflineMode.ps1:24 ký tự:164
+ ... fficeMgmtCOM="TRUE" SourcePath="'+$PS1dirEOL) | Set-Content $tempconf
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-Content], UnauthorizedAccessException
+ FullQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetContentCommand
Làm cách nào để tôi làm việc này cũng trong ISO? Tôi biết một ISO là chỉ đọc, nhưng tôi nghĩ thật kỳ lạ khi anh ấy cố gắng sửa đổi thứ gì đó không có trong ISO mà nằm trong một thư mục tạm thời và anh ấy vẫn không thể.
$PS1dir = Nhận vị trí
#Đường dẫn cấu hình
$tempdir = "$env:TEMP\tmpoffice"
$conf = "$($PS1dir)\configuration.xml"
$tempconf = "$env:TEMP\tmpoffice\configuration.xml"
#Đường dẫn hiện tại với phần cuối của dòng XML được định dạng lại
$PS1dirEOL = "$($PS1dir)`" `AllowCdnFallback=`"TRUE`">"
#Copy tệp cấu hình cho thư mục tạm thời và đặt biến cho cùng
Copy-Item $conf -Destination (New-Item -Path $tempdir -Type Directory -Force) -Recurse -Force
#Thay thế dòng cũ bằng thư mục hiện tại
(Get-Content $tempconf) -replace '<Add OfficeClientEdition=.*', ('<Add OfficeClientEdition="64" Channel="Current" OfficeMgmtCOM="TRUE" SourcePath="'+$PS1dirEOL) | Set-Content $ tạm thời
#Chạy cài đặt O365 từ tệp cấu hình mới
Bắt đầu quá trình cmd.exe -ArgumentList "/c start /MIN $($PS1dir)\setup.exe /configure $tempconf" -Chờ
Xóa mục -Path $tempdir -Force -Recurse