如何在沒有管理員權限的情況下從腳本更改預設程式?

如何在沒有管理員權限的情況下從腳本更改預設程式?

Windows 10 分配了最奇怪的預設程序,我需要能夠在不同的電腦上快速更改它們(即建立腳本)。我正在嘗試使用助理類型來實現這一點。

這是我嘗試運行的批次文件 - 足夠簡單,可以開始。 PS1 檔案通常在記事本中打開,這沒有意義,因為它們應該在 PowerShell ISE 中打開,所以這就是我在這裡嘗試做的:

@echo off
TITLE Associating File Types With Applications for %username%
assoc .ps1=Microsoft.PowerShellScript.1
ftype Microsoft.PowerShellScript.1=powershell_ise.exe
pause

暫停只是為了在運行時捕獲以下錯誤:

Access is denied.
Error occurred while processing: .ps1.
Access is denied.
Error occurred while processing: Microsoft.PowerShellScript.1.
Press any key to continue . . .

雙重訪問被拒絕!目前腳本的編寫方式,都不是助理或者類型工作。我可以透過 GUI 更改預設程序,因此我也應該能夠編寫腳本。不幸的是,當您不是管理員時,Microsoft 不會讓您輕鬆編寫腳本。

我不知道是否助理部分實際上是必要的 - 看起來只是類型腳本中需要它,因為這實際上改變了文件關聯。不過,所有示例中都有這一點,所以我將其包括在內。

作為標準用戶如何更改預設程序沒有任何管理權限?值得慶幸的是,我們現在可以存取註冊表,因此如果我可以使用 REG 檔案執行相同的操作,那也可以。我需要能夠將以下文件類型與以下程式關聯:

  • PS1:PowerShell ISE
  • PDF:Adobe Acrobat Reader DC
  • 使 Windows 照片檢視器(不是照片)成為任何類型影像的預設檢視器。我已經有一個腳本將 WPV 添加到“開啟方式”選單中。
  • 使 Windows Media Player 成為任何類型視訊檔案的預設檢視器。
  • 將 Internet Explorer 設定為預設瀏覽器(而非 Edge)。我們的網域有一項策略,使 Chrome 在運行時成為預設瀏覽器,因此我可能會更頻繁地重新應用此策略。
  • HTML/CSS/JS: "T:\Notepad++\Notepad++Portable.exe"

除 Chrome 之外,網域策略不會影響預設程式。

答案1

如果沒有提升的命令提示字元的權限,您將無法執行這樣的腳本。提升意味著您可以右鍵單擊 cmd 並選擇以管理員身份執行。

相關內容