如何在不卸载powershell的情况下,有效禁用/启用powershel
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在不卸载powershell的情况下,有效禁用/启用powershel相关的知识,希望对你有一定的参考价值。
1、首先在电脑中,打开Powershell程序窗口,在程序窗口中输入“disable-psbreakpoint”指令。
2、然后设定参数 -ID。
3、接着指定断点名称。
4、然后运行如下命令,即可禁用ID为1的断点。
5、如果需要禁用所有断点,请使用如下命令:get-psbreakpoint | disable-psbreakpoint,就可以了。
参考技术A 微软出尔反尔,Powershell不受系统管控!如何有效禁用Powershell?考虑到Powershell的强大功能和不需写入文件而直接在内存执行代码的优秀特性,日后可能成为安全的一大危害,各路恶意程序都极可能转战Powershell,因此就想搞掉Powershell。但简单的卸载并非我的意愿,因为我们自己也可能偶尔会用到它,因此最好是自己制作一个开关,要用时就打开,不用时就关闭。
在上述想法下,先是考虑用CACLS限制Powershell.exe的Evryone访问权限,但奇怪的是,命令明明执行成功,但居然没有任何效果,微软自家的命令对自家的程序毫无作用~!
我尝试了以下命令:
cacls c:\Windows\System32\WindowsPowerShell\v1.0\powershell*.exe /c /D everyone
cacls c:\Windows\System32\WindowsPowerShell\v1.0\powershell*.exe /e /c /p everyone:N
结果显示:
ACCESS_DENIED: c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
ACCESS_DENIED: c:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe
但再运行试试?一点问题都没有!
再看看上述文件的权限,发现通过CACLS设置的权限限制根本就不存在!
邪门,微软自家的命令对自家程序网开一面,这到底还有多少类似的网开一面的后门?
那么问题出来了——
如何在不卸载Powershell的情况下,有效禁用/启用Powershell?
rd /s /q powershell.exe本回答被提问者采纳
如何在不禁用列表项的命中测试的情况下启用对列表项的选择?
【中文标题】如何在不禁用列表项的命中测试的情况下启用对列表项的选择?【英文标题】:How do you enable selection on items in a list without disabling hit testing on the list items? 【发布时间】:2021-03-30 20:32:50 【问题描述】:我正在尝试创建一个文件浏览器,用户可以在其中将我的 LibraryView 中的条目拖放到主视图上以显示它们。同样有效的是上下文菜单,用户可以在其中右键单击以删除或编辑文件上的首选项。问题是,如果我在文件的文本标签上禁用命中测试,我无法拖放文件,但选择有效...如果我启用命中测试,我无法单击文件的文本标签选择它。这是我的代码,任何帮助将不胜感激......
struct LibraryView: View
@ObservedObject var viewModel = LibraryViewModel()
var body: some View
List(selection: $viewModel.selectedNodes)
ForEach(viewModel.nodes, id: \.self) node in
if let childrenNodes = node.childrenValues, childrenNodes.count > 0
Section(header: Text(node.displayName))
ForEach(childrenNodes, id: \.self) childNode in
LibraryNodeChildView(node: childNode).contextMenu
Button(action:
store.dispatch(LibraryAction.removeNode(childNode))
store.dispatch(LibraryThunkCreatorImpl().persistLibraryState())
)
HStack
Text("Delete")
Image(systemName: "trash")
Button(action:
)
HStack
Text("Edit Preferences")
Image(systemName: "gear")
.listStyle(SidebarListStyle())
.onAppear()
store.dispatch(LibraryThunkCreatorImpl().loadLibraryState())
.onDrop(of: ["public.url","public.file-url"], isTargeted: nil) (items) -> Bool in
if let item = items.first
if let identifier = item.registeredTypeIdentifiers.first
print("onDrop with identifier = \(identifier)")
if identifier == "public.url" || identifier == "public.file-url"
item.loadItem(forTypeIdentifier: identifier, options: nil) (urlData, error) in
DispatchQueue.main.async
if let urlData = urlData as? Data
let url = NSURL(absoluteURLWithDataRepresentation: urlData, relativeTo: nil) as URL
let thunk = LibraryThunkCreatorImpl().createAddNodeThunk(url: url)
store.dispatch(thunk)
return true
else
print("item not here")
return false
struct LibraryNodeChildView: View
let node: LibraryNode
var body: some View
HStack
if let image = node.image
Image(nsImage: image)
.resizable()
.scaledToFit()
.frame(width: 15, height: 15)
Text(verbatim: node.displayName).onDrag
NSItemProvider(object: node.url as NSURL)
.allowsHitTesting(false)
.font(.subheadline)
【问题讨论】:
【参考方案1】:如here 所述,解决方案是将拖放绑定到项目容器,并将上下文菜单绑定到容器内的项目。
HStack
Text(verbatim: node.displayName)
.contextMenu
// handle context menu
.onDrag
// handle drag
【讨论】:
以上是关于如何在不卸载powershell的情况下,有效禁用/启用powershel的主要内容,如果未能解决你的问题,请参考以下文章
如何在不连接 Powershell 的情况下传递参数? [复制]