0
此代碼運行如下:PowerShell代碼時粘貼到正在以管理員身份運行PowerShell窗口運行在窗口中的確定,但不能從名爲.ps1文件
$directory = "C:\Program Files (x86)\CAREWare"
$domainName = "DHS"
$group = 'Domain Users'
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$acl = (Get-Item $directory).GetAccessControl("Access")
$user = "{0}\{1}" -f "$domainName", $group
$user.trim()
$access = "FullControl"
$accessType = "Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule -ArgumentList @("$user","$access", "$inherit", "$propagation", "$accessType")
$acl.SetAccessRule($accessRule)
set-acl $directory $acl
但是,試圖運行裏面上面的代碼時。 ps1文件(沒有其他代碼),我得到權限錯誤或目錄位置錯誤。 .ps1文件與運行它的.ps1文件位於相同的位置。
這裏是行不通:
$script4 = "D:\PowerShell\AllUsersTotalControlCAREWareFolder.ps1"
Start-Process powershell -WorkingDirectory (Split-Path $script4) -Credential dhs\jdavis_desktop -ArgumentList '-noprofile', '-command', "start-process '$script4' -verb runas"
我想給一個文件夾,我是在這個過程中先前創建的完全控制。
編輯: 我只是再次運行腳本,我沒有得到任何錯誤,但沒有更改權限。 它只是輕鬆通過代碼的那部分。
愚蠢的問題,但是....你運行PS1文件作爲管理員? – asemprini87
-Credential dhs \ jdavis_desktop是管理員憑證,它要求輸入密碼,但表示我沒有權限 – JustJohn
您是否嘗試在外部啓動過程中放置-verb RunAs? – TessellatingHeckler