Chuyên mục

Blogger
  • Blogger Template 8
    • Seo Blogspot 29
      • Thiết kế Blogspot 26
        • Thủ thuật Blogspot 79
          • Tiện ích Blogspot 31
            Máy tính
            • Phần mềm 45
              • Sửa lỗi Windows 20
                • Thủ thuật Windows 78
                  • Cài đặt Windows 43

                    Hướng dẫn tạo powershell script gỡ bỏ hoặc thêm lại ứng dụng mặc định trong Windows 10

                    Ứng dụng trong Windows 10 được chia ra làm hai nhóm trong đó nhóm một gồm những ứng dụng được tải về từ Store được lưu trong thư mục WindowsApps theo đường dẫn C:\Program Files và có thể gỡ bỏ. Nhóm hai là những ứng dụng hệ thống được lưu chủ yếu trong thư mục SystemApps theo đường dẫn C:\Windows và có một số ứng dụng được lưu ngay trong thư mục Windows, nhóm ứng dụng này được bảo vệ không cho phép gỡ bỏ.

                    Tham khảo thêm: Danh sách ứng dụng mặc định trong Windows 10, version 1809

                    Như vậy nếu bạn muốn gỡ bỏ ứng dụng nào thuộc nhóm ứng dụng hệ thống trước hết bạn cần loại bỏ sự bảo vệ của ứng dụng và sau khi loại bỏ chúng ta sẽ dễ dàng gỡ bỏ bất kỳ ứng dụng nào bằng powershell script.

                    Phần 1: Tạo PowerShell Script

                    1. Tạo powershell script gỡ bỏ ứng dụng Remove-AppxPackage.ps1

                    Soạn nội dung bên dưới vào notepad và lưu lại với tên ví dụ Remove-AppxPackage.ps1 định dạng All files và Econding-ANSI

                    Copy

                    If (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")) {

                        Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`" $args" -Verb RunAs

                        Exit

                    }

                    Function Main-menu() {

                      $index=1

                      $apps=Get-AppxPackage -AllUsers

                      Write-Host "ID`t App name"

                      echo ""

                      foreach ($app in $apps) {

                        Write-Host " $index`t $($app.name)"

                        $index++

                      }

                      if ($apps) {

                        $index++

                      } else {

                        Write-Host "Apps not found"

                        echo ""

                        pause

                        exit

                      }

                      Do {

                        echo ""

                        $IDs=Read-Host -Prompt "For remove each app please select ID and press enter"

                      }

                      While($IDs -eq "")

                      try {

                        [int[]]$IDs=$IDs -split ","

                      } catch {

                        Write-Host "Error:" $_.Exception.Message

                      }

                      foreach ($ID in $IDs) {

                        if ($ID -ge 1 -and $ID -le $apps.count) {

                            $ID--

                            $AppName=$apps[$ID].packagefullname

                            Remove-AppxPackage -Package $AppName

                        } else {

                            echo ""

                            Write-warning -Message "wrong ID"

                            echo ""

                            pause

                        }

                      }

                    }

                    Main-menu


                    Trường hợp nếu bạn chỉ muốn gỡ bỏ ứng dụng thuộc nhóm StoreApps bạn thay

                    Get-AppxPackage -AllUsers

                    thành

                    Get-AppxPackage -PackageTypeFilter Bundle -AllUser

                    Khi tạo xong chuột phải tập tin script vừa tạo chọn Run with Powershell


                    Nếu muốn gỡ bỏ ứng dụng nào chọn ID của ứng dụng nhấn Enter ví dụ như 64


                    Trường hợp nếu chọn ID không có trong danh sách ứng dụng sẽ đưa ra cảnh báo sai ID, khi đó nhấn Enter để tiếp tục.

                    2. Tạo powershell script thêm lại ứng dụng Add-AppxPackage.ps1

                    Soạn nội dung bên dưới vào notepad và lưu lại với tên ví dụ Add-AppxPackage.ps1 định dạng All files và Econding-ANSI

                    Copy

                    If (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")) {

                        Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`" $args" -Verb RunAs

                        Exit

                    }

                    Function Main-menu() {

                      $index=1

                      $apps=Get-AppxPackage -AllUsers

                      Write-Host "ID`t App name"

                      Write-Host ""

                      foreach ($app in $apps) {

                        Write-Host " $index`t $($app.name)"

                        $index++

                      }

                      if ($apps) {

                        $index++

                        Write-Host ""

                      } else {

                        Write-Host "Apps not found"

                        Write-Host ""

                        pause

                      }

                      Do {

                        Write-Host ""

                        $IDs=Read-Host -Prompt "For add each app please select ID and press enter"

                      }

                      While($IDs -eq "")

                      try {

                        [int[]]$IDs=$IDs -split ","

                      } catch {

                        Write-Host "Error:" $_.Exception.Message

                      }

                      foreach ($ID in $IDs) {

                        if ($ID -ge 1 -and $ID -le $apps.count) {

                            $ID--

                            $AppName=$apps[$ID].name

                            Get-AppxPackage -AllUsers $AppName | Foreach {Add-AppxPackage -Register "$($_.InstallLocation)\appxmanifest.xml" -DisableDevelopmentMode}

                        } else {

                            echo ""

                            Write-warning -Message "wrong ID"

                            echo ""

                            pause

                        }

                      }

                    }

                    Main-menu


                    Trường hợp nếu bạn chỉ muốn gỡ bỏ ứng dụng thuộc nhóm StoreApps bạn thay

                    Get-AppxPackage -AllUsers

                    thành

                    Get-AppxPackage -PackageTypeFilter Bundle

                    Khi tạo xong chuột phải tập tin script vừa tạo chọn Run with Powershell


                    Nếu muốn thêm lại ứng dụng nào chọn ID của ứng dụng nhấn Enter ví dụ như 23


                    Trường hợp nếu chọn ID không có trong danh sách ứng dụng sẽ đưa ra cảnh báo sai ID, khi đó nhấn Enter để tiếp tục.


                    Phần 2. Loại bỏ sự bảo vệ ứng dụng hệ thống

                    Để loại bỏ sự bảo vệ ứng dụng hệ thống của Windows. Chúng ta cần sự trợ giúp của phần mềm có tên DB.Browser.for.SQLite, phần mềm này có rất nhiều chức năng và một trong số đó cho phép gỡ bảo vệ ứng dụng hệ thống. Tải và cài đặt phần mềm theo liên kết: https://yadi.sk/d/AftaIv-r3JRWdM

                    Bước 1: Bật chế độ xem file ẩn để thấy thư mục ProgramData trong phân vùng hệ thống.


                    Bước 2: Cài đặt TakeOwnership


                    Bước 3: Truy cập đường dẫn C:\ProgramData\Microsoft\Windows chuột phải vào thư mục AppRepository chọn Take Ownership


                    Bước 4: Khi Take Ownership thư mục xong truy cập thư mục tìm đến file có tên StateRepository-Machine.srd bạn copy file này lưu ở thư mục khác mục đích là sao lưu file này phòng trường hợp file bị hỏng có thay thế kịp thời.


                    Bước 5: Chạy phần mềm DB.Browser.for.SQLite, tại giao diện chính nhấn vào tab Open Database tìm đến đường dẫn C:\ProgramData\Microsoft\Windows\AppRepository và dưới khung File name gõ chữ s mở file StateRepository-Machine.srd.


                    Bước 6: Khi mở xong chuyễn qua tab Browse Data trong khung Table chọn Package


                    Bước 7: Trong Package có nhiều cột nhưng chúng ta chỉ cần quan tâm đến hai cột PackageFullNameIsInbox. Kéo rộng cột PackageFullName ra để ý bên phải cột IsInbox quan sát bạn có thể thấy chỉ có hai giá trị 0 (không bảo vệ) và 1 (được bảo vệ).



                    Bước 8: Trong cột IsInbox sửa hết giá trị của PackageFullName từ 1 sang 0 sau đó bấm tổ hợp phím Ctrl+S lưu lại xong tắt phần mềm đi.


                    Đến bước này coi như đã xong, ứng dụng hệ thống không còn được bảo vệ bây giờ bạn có thể sử dụng tệp powershell script để gỡ bỏ ứng dụng hệ thống

                    QUAN TRỌNG: Những ứng dụng hệ thống sau khi đã gỡ bỏ nếu thêm lại thì ứng dụng sẽ mặc định được bảo vệ lại có giá trị IsInbox bằng 1 khi đó nếu muốn gỡ bỏ lại ứng dụng này bạn cần chạy lại phần mềm DB.Browser.for.SQLite sửa giá trị của ứng dụng về lại 0.
                    Nội dung chính
                      Bài đăng mới hơn Bài đăng cũ hơn