Guest User

Untitled

a guest
Sep 12th, 2023
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1.  
  2. # ----------- #
  3. # Image Tools #
  4. # ----------- #
  5.  
  6. # Get info
  7. Dism /Get-ImageInfo /imagefile:"IMAGE_LOCATION"
  8.  
  9. ?????????????????????????????
  10.  
  11. # Mount & Dismount
  12. Dism /Mount-Image /ImageFile:"IMAGE_LOCATION" /index:INDEX_ID /MountDir:"MOUNT_FOLDER"
  13. dism /get-MountedWiminfo
  14. dism /remount-wim /MountDir:"MOUNT_FOLDER"
  15. Dism /Unmount-Image /MountDir:"MOUNT_FOLDER" /commit
  16. Dism /Unmount-Image /MountDir:"MOUNT_FOLDER" /discard
  17.  
  18. # Force Dismount / Clean Mount Points
  19. DISM /Cleanup-Wim
  20. DISM /Cleanup-Mountpoints
  21.  
  22. ?????????????????????????????
  23.  
  24. # Create
  25. Dism /Capture-Image /ImageFile:"D:\Images\Fabrikam.wim" /CaptureDir:C:\ /Name:Fabrikam
  26.  
  27. # Add
  28. Dism /Append-Image /ImageFile:"IMAGE_LOCATION" /CaptureDir:"SOURCE_FOLDER" /Name:"IMAGE_NAME"
  29.  
  30. # Delete
  31. Dism /Delete-Image /ImageFile:"IMAGE_LOCATION" /Index:INDEX_ID
  32.  
  33. # Export
  34. DISM /Export-Image /SourceImageFile:"SOURCE_IMAGE_LOCATION" /ALL /DestinationImageFile:"TARGET_IMAGE_LOCATION" /Compress:max /CheckIntegrity
  35. DISM /Export-Image /SourceImageFile:"SOURCE_IMAGE_LOCATION" /SourceIndex:INDEX_ID /DestinationImageFile:"TARGET_IMAGE_LOCATION" /Compress:max /CheckIntegrity
  36.  
  37. # WIM/ESD
  38. Change TARGET_IMAGE_LOCATION.XXX to Sample_FILE.WIM / Sample_FILE.ESD
  39. DISM /Export-Image /SourceImageFile:"SOURCE_IMAGE_LOCATION" /SourceIndex:INDEX_ID /DestinationImageFile:"TARGET_IMAGE_LOCATION.XXX" /Compress:max /CheckIntegrity
  40.  
  41. # -------------- #
  42. # Edition Change #
  43. # -------------- #
  44.  
  45. Dism /Online /Get-CurrentEdition
  46. Dism /Online /Get-TargetEditions
  47. Dism /online /Set-Edition:ServerStandard /ProductKey:N69G4-B89J2-4G8F4-WWYCC-J464C /AcceptEula
  48.  
  49. Dism /Image:"%cd%\Mount" /Get-CurrentEdition
  50. Dism /Image:"%cd%\Mount" /Get-TargetEditions
  51. Dism /Image:"%cd%\Mount" /Set-Edition:IoTEnterpriseS /AcceptEula
  52.  
  53. # ---------------------------------- #
  54. # Enable or Disable Windows Features #
  55. # ---------------------------------- #
  56.  
  57. :: PS Command
  58.  
  59. Get-WindowsOptionalFeature
  60. Disable-WindowsOptionalFeature
  61.  
  62. :: DISM Command
  63.  
  64. Dism /online /Get-Features
  65. Dism /online /Get-FeatureInfo /FeatureName:TFTP
  66. Dism /online /Enable-Feature /FeatureName:TFTP /All
  67. Dism /online /Disable-Feature /FeatureName:TFTP [/Remove]
  68.  
  69. Dism /Image:"MOUNT_FOLDER" /Get-Features
  70. Dism /Image:"MOUNT_FOLDER" /Get-FeatureInfo /FeatureName:TFTP
  71. Dism /Image:"MOUNT_FOLDER" /Enable-Feature /FeatureName:TFTP /All
  72. Dism /Image:"MOUNT_FOLDER" /Disable-Feature /FeatureName:TFTP [/Remove]
  73.  
  74. # --------------------------------------------------- #
  75. # Capabilities Package Servicing Command-Line Options #
  76. # --------------------------------------------------- #
  77.  
  78. :: PS Command
  79.  
  80. Get-WindowsCapability -Online
  81. Add-WindowsCapability -Online
  82. Remove-WindowsCapability -Online
  83.  
  84. Get-WindowsCapability -Path "C:\mount\Windows"
  85. Add-WindowsCapability -Path "C:\mount\Windows"
  86. Remove-WindowsCapability -Path "C:\mount\Windows"
  87.  
  88. :: DISM Command
  89.  
  90. DISM /Online /Get-Capabilities
  91. DISM /Online /Get-CapabilityInfo /CapabilityName:Language.Basic~~~en-US~0.0.1.0
  92. Dism /Online /Remove-Capability /CapabilityName:Language.Basic~~~en-US~0.0.1.0
  93.  
  94. DISM /Image:"MOUNT_FOLDER" /Get-Capabilities
  95. DISM /Image:"MOUNT_FOLDER" /Get-CapabilityInfo /CapabilityName:Language.Basic~~~en-US~0.0.1.0
  96. Dism /Image:"MOUNT_FOLDER" /Remove-Capability /CapabilityName:Language.Basic~~~en-US~0.0.1.0
  97.  
  98. # ----------------------------------------------------------------- #
  99. # App Package (.appx or .appxbundle) Servicing Command-Line Options #
  100. # ----------------------------------------------------------------- #
  101.  
  102. :: PS Command
  103.  
  104. Add-AppxProvisionedPackage -Online
  105. Add-AppxPackage
  106.  
  107. Get-AppXProvisionedPackage -Online / Get-ProvisionedAppxPackage -Online
  108. Get-AppXProvisionedPackage -path 'Mount' / Get-ProvisionedAppxPackage -path 'Mount'
  109. Get-WindowsPackage -online | Get-WindowsPackage -path 'Mount'
  110. Get-AppxPackage [-allusers]
  111.  
  112. Remove-AppxPackage
  113. Remove-AppXProvisionedPackage -Online / Remove-ProvisionedAppxPackage -Online
  114. Remove-AppXProvisionedPackage -path 'Mount' / Remove-ProvisionedAppxPackage -path 'Mount'
  115. Remove-WindowsPackage -online | Remove-WindowsPackage -path 'Mount'
  116.  
  117. :: DISM Command
  118.  
  119. DISM.exe /Online /Get-ProvisionedAppxPackages
  120. DISM.exe /Online /Add-ProvisionedAppxPackage
  121. DISM.exe /Online /Remove-ProvisionedAppxPackage
  122. DISM.exe /Online /Set-ProvisionedAppxDataFile
  123. DISM.exe /Online /StubPackageOption
  124.  
  125. DISM.exe /Image:"MOUNT_FOLDER" /Get-ProvisionedAppxPackages
  126. DISM.exe /Image:"MOUNT_FOLDER" /Add-ProvisionedAppxPackage
  127. DISM.exe /Image:"MOUNT_FOLDER" /Remove-ProvisionedAppxPackage
  128. DISM.exe /Image:"MOUNT_FOLDER" /Set-ProvisionedAppxDataFile
  129. DISM.exe /Image:"MOUNT_FOLDER" /StubPackageOption
  130.  
  131.  
  132. :::::::::::::::::::::::
  133. :: Real Life example ::
  134. :::::::::::::::::::::::
  135.  
  136.  
  137. # Variables
  138. $filter = 'Microsoft.WindowsTerminal'
  139. $Msix = Join-path -Path @(Get-Location) -ChildPath 'Microsoft.WindowsTerminal_3001.12.10982.0_neutral___8wekyb3d8bbwe.Msixbundle'
  140. $App_A = Join-path -Path @(Get-Location) -ChildPath 'Microsoft.UI.Xaml.2.7_7.2208.15002.0_x64__8wekyb3d8bbwe.Appx'
  141. $App_B = Join-path -Path @(Get-Location) -ChildPath 'Microsoft.VCLibs.140.00.UWPDesktop_14.0.30704.0_x64__8wekyb3d8bbwe.Appx'
  142. $License = Join-path -Path @(Get-Location) -ChildPath 'microsoft.windowsterminal_8wekyb3d8bbwe.xml'
  143.  
  144. # Remove From all users
  145. Get-AppxProvisionedPackage -online | ? PackageName -match $filter | Remove-AppxProvisionedPackage -online -AllUsers
  146.  
  147. # "Global Install -> terminal appx"
  148. Add-AppxProvisionedPackage -Online -PackagePath $Msix -DependencyPackagePath $App_A,$App_B -LicensePath $License -ErrorAction SilentlyContinue | out-null
  149. Dism /Online /Add-ProvisionedAppxPackage /PackagePath:$Msix /DependencyPackagePath:$App_A /DependencyPackagePath:$App_B /LicensePath:$License | out-null
  150.  
  151. # "Local Install -> terminal appx"
  152. Get-AppxPackage -allusers | ? name -Match $filter | % {
  153. $loc = "$($_.InstallLocation)\appxmanifest.xml"
  154. if (Test-Path($loc)) {
  155. try {
  156. $ProgressPreference = 'SilentlyContinue' # Subsequent calls do not display UI.
  157. Add-AppxPackage -register $loc -DisableDevelopmentMode -ErrorAction SilentlyContinue | out-null
  158. }
  159. catch {
  160. #nothing here
  161. }
  162. finally {
  163. $ProgressPreference = 'Continue' # Subsequent calls do display UI.
  164. }
  165. }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment