Cách bỏ ghim quảng cáo menu bắt đầu của Windows 10 bằng powershell


5

Thỉnh thoảng tôi chuẩn bị một PC mới cho ai đó và nghĩ rằng tôi có thể bỏ ghim chương trình và quảng cáo từ menu bắt đầu bằng powershell. Nó đã làm việc nhưng chỉ một phần. Tôi đã có thể bỏ ghim các chương trình như Lịch & amp; Thời tiết nhưng không biết làm thế nào để thoát khỏi cửa sổ quảng cáo trò chơi cửa sổ như Asphalt 8: Airborne:

enter image description here

Tôi nên bao gồm tên nào trong một tập lệnh để bỏ ghim điều đó (và tương tự)?

Đây là kịch bản tôi sử dụng:

function Pin-App {    param(
        [string]$appname,
        [switch]$unpin
    )
    try{
        if ($unpin.IsPresent){
            ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -eq $appname}).Verbs() | ?{$_.Name.replace('&','') -match 'Von "Start" lösen|Unpin from Start'} | %{$_.DoIt()}
            return "App '$appname' unpinned from Start"
        }else{
            ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -eq $appname}).Verbs() | ?{$_.Name.replace('&','') -match 'An "Start" anheften|Pin to Start'} | %{$_.DoIt()}
            return "App '$appname' pinned to Start"
        }
    }catch{
        Write-Error "Error Pinning/Unpinning App! (App-Name correct?)"
    }
}

Pin-App "Mail" -unpin
Pin-App "Store" -unpin
Pin-App "Calendar" -unpin
Pin-App "Microsoft Edge" -unpin
Pin-App "Photos" -unpin
Pin-App "Cortana" -unpin
Pin-App "Weather" -unpin
Pin-App "Phone Companion" -unpin
Pin-App "Twitter" -unpin
Pin-App "Skype Video" -unpin
Pin-App "Candy Crush Soda Saga" -unpin
Pin-App "xbox" -unpin
Pin-App "Groove music" -unpin
Pin-App "films & tv" -unpin
Pin-App "microsoft solitaire collection" -unpin
Pin-App "money" -unpin
Pin-App "get office" -unpin
Pin-App "onenote" -unpin
Pin-App "news" -unpin
Pin-App "Asphalt 8: Airborne" -unpin
Pin-App "This PC" -pin

Vì vậy, đầu ra của tập lệnh của bạn cho mục cụ thể đó là gì? Bạn đã thử xem xét lỗi thực tế chưa? Kiểm tra "Truy cập Bản ghi lỗi" trong Hướng dẫn PowerShell - Thử Catch Cuối cùng và xử lý lỗi trong PowerShell
Seth


bắt lấy $error[0] | fl * không có Write-Error để xem thêm thông tin bây giờ bạn chỉ thấy thông báo lỗi tùy chỉnh của bạn.
SimonS

Vì vậy, tôi đã chạy tập lệnh với dòng bắt mới trên tài khoản người dùng khác với một số tin tào lao được ghim vào menu bắt đầu của tôi; một số trong số chúng đã được bỏ ghim nhưng có một vài lỗi như thế này: Tại dòng: 7 char: 13 + ((New-Object -Com Shell.Application) .NameSpace ('shell ::: {... + ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ + CategoryInfo: UnlimitedOperation: (:) [], RuntimeException + FullQualifiedErrorId: InvokeMethodOnNull
Roy_Batty

Bạn có thể đã nhận thấy rằng bạn không thể đăng nó. Chỉ cần đưa nó vào bài viết của bạn.
Seth

Câu trả lời:


1

Nếu bạn muốn triển khai một menu bắt đầu được tiêu chuẩn hóa, bạn có thể sử dụng Export-StartLayoutImport-StartLayout:

  1. Tự thiết lập menu bắt đầu trên máy kiểm tra theo cách bạn muốn.
  2. Xuất bố cục đó sang tệp XML bằng Export-StartLayout.
  3. Nhập tệp đó trên các máy tính khác với Import-StartLayout.

Có nhiều chi tiết hơn từ Microsoft tại đây:

https://bloss.technet.microsoft.com/deploymentguys/2016/03/07/windows-10-start-layout-customization/


Tôi đã xuất thành công bố cục của mình tuy nhiên có một số vấn đề với việc nhập nó vào một máy mới. Tôi đã thử các lệnh khác nhau trong shell power nhưng không có lệnh nào hoạt động: 1. Nhập-StartLayout, MountPath $ env: SystemDrive 3. Nhập-StartLayout không thay đổi
Roy_Batty

@Roy_Batty, dường như đặt mặc định cho người dùng mới, không phải người dùng hiện tại. Có lẽ bạn chỉ có thể tạo tài khoản cho người dùng mới.
dangph

1

Đây là một điều đơn giản mà tôi đã viết với PowerShell để đẩy bố cục menu bắt đầu tùy chỉnh của mình sang Windows 10 bằng MDT, nó bắt đầu với MDT triển khai XML vào thư mục tạm thời trong khi triển khai.

    Clear-Host

# file path that the xml must live in 
    $filepath = "C:\users\default\AppData\Local\Microsoft\Windows\Shell"

# xml files that were copied to local machine
    $startxmlorig = "C:\Windows\Temp\startandtaskbar.xml"
    $layoutmod = "C:\Windows\Temp\LayoutModification.xml"

# test the path to see if it exists if yes then copy xmls to correct folder on if not then create the path and copy the xml files to the correct path.

    if (!(Test-Path -Path $filepath)) {
        Copy-Item -Path $startxmlorig -Destination $filepath
        Copy-Item -Path $layoutmod -Destination $filepath
        } else {
        New-Item -Force -ItemType Directory -Path $filepath
            Copy-Item -Path $startxmlorig -Destination $filepath
            Copy-Item -Path $layoutmod -Destination $filepath`

Tôi đã để lại backtick (`) ở cuối bài viết của bạn. Nếu bạn không thực sự có ý nghĩa cho nó ở đó, chỉnh sửa
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.