【发布时间】:2013-07-19 09:58:53
【问题描述】:
是否可以禁用打开文件对话框窗口的某些部分,例如创建新文件夹按钮?
我正在使用的代码示例(取自http://blogs.technet.com/b/heyscriptingguy/archive/2009/09/01/hey-scripting-guy-september-1.aspx)是:
Function Get-FileName($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = "All files (*.*)| *.*"
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
} #end function Get-FileName
Get-FileName -initialDirectory "c:\fso"
谢谢
【问题讨论】:
-
我的系统刚刚没有运行所以无法测试,但是查看 MSDN 参考,我不这么认为,除了控制呼叫的安全性 - 如果用户不是' t 有足够的权限来创建文件夹,它可能足够聪明地隐藏或灰显
New Folder按钮。 -
由于您使用的是 .NET 类,因此这实际上更像是一个 .NET 问题而不是 PowerShell 问题。您可以尝试寻找如何在 C# 或 VB.NET 中执行此操作;如果你找到任何东西,那么你只需要翻译它。
-
谢谢大家。我想我会将安全性和权限视为限制这一点的一种方式。
-
根据我的测试(你让我感兴趣!)我可以设置一个访问规则来禁止当前用户(运行脚本的用户)创建目录。但它并没有隐藏
New Folder按钮——相反,您会收到一个提示,告诉您Destination Folder Access Denied。不是你想要的,但如果你想要代码,我会放上去的。 -
谢谢 Graham,想看代码!
标签: .net powershell