文章分成以下步驟
1.POWERSHELL設定
2.BAT檔設定
3.工作排程器設定
1. POWERSHELL設定
1.1 將以下POWERSHELL SCRIPT另存為PS1檔
# get the username of the current user$uname = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
# create an identity reference for the owner$user = new-object System.Security.Principal.NTAccount($uname)
#$acl = Get-Acl "HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetuprmHashStatus\{22DDE72D-542C-454b-845F-6D4579DDEED1}"#$rule = New-Object System.Security.AccessControl.RegistryAccessRule ($user,"FullControl","Allow")#$acl.SetAccessRule($rule)#$acl |Set-Acl -Path "HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetuprmHashStatus\{22DDE72D-542C-454b-845F-6D4579DDEED1}"
$key = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey("SYSTEM\Setup\SetuprmHashStatus\{22DDE72D-542C-454b-845F-6D4579DDEED1}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)$acl = $key.GetAccessControl()$rule = New-Object System.Security.AccessControl.RegistryAccessRule ($user,"FullControl","Allow")$acl.SetAccessRule($rule)$key.SetAccessControl($acl)
# create a "drive" for HKEY_CLASSES_ROOTnew-psdrive -name HKLM_pc2 -psprovider Registry -root HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetuprmHashStatus\
# change the current locationset-location HKLM_pc2:\
Remove-Item "HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetuprmHashStatus\{22DDE72D-542C-454b-845F-6D4579DDEED1}" -Recurse
# create a "drive" for HKEY_CLASSES_ROOTnew-psdrive -name HKLM_pc1 -psprovider Registry -root HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\
# change the current locationset-location HKLM_pc1:\
Remove-Item "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\{a257d54e-6769-4397-b2d2-9f75024b3156}" -Recurse
1.2 設定POWERSHELL執行原則
1.2.1 以系統管理員身分啟動POWERSHELL
1.2.2 利用 Get-ExecutionPolicy 來確認系統目前的指令檔執行限制
「執行原則」有下列 4 種: Restricted :關閉腳本檔的執行功能,這是預設的設定值。 AllSigned :只允許執行受信任發行者簽署過的腳本檔。 RemoteSigned :在本機電腦所撰寫的腳本檔,不需要簽署就可執 行;但是從網際網路(例如:email、MSN Messenger)下載的腳本檔就必須經過受信任發行者的簽署才能執行。Unrestricted :任何腳本檔皆可被執行,但是於執行網際網路下載的腳本檔時,會先出現警告的提示視窗。
1.2.3 執行"Set-ExecutionPolicy RemoteSigned"
註:亦可使用CMD進行
系統管理員身分開啟CMD
鍵入"POWERSHELL",會出現下列的提示(前面會有PS的識別字),後面指令同上。
2. BAT檔設定
2.1 直接將以下文字存成BAT檔:
powershell "路徑檔案名"
EX:powershell "C:\1.ps1"
2.2 將該BAT檔建立捷徑
對該捷徑點擊右鍵開啟"內容" --> "進階" --> 勾選"以系統管理員身分執行"
3. 工作排程器設定
3.1 點擊"WIN鍵+X" 再按G 後,找到"工作排程器",在右側找到"建立 工作"
3.2 詳細內容自行搜尋並參考