powershell - Shell NameSpace 更改每个映射网络驱动器的标签
问题描述
我正在研究将网络共享映射为驱动器的 GUI 脚本。到目前为止,我是成功的,但是现在,每次我映射另一个驱动器时,它的名称都会应用于每个先前创建的驱动器。请帮忙。我希望每个驱动器都有一个单独的名称
$button_click_2 = { $letter = -join($textBox.Text,":")
Invoke-Expression "C:\Windows\System32\net.exe use $letter \\192.168.0.10\GRY /persistent:yes"
$shell = New-Object -ComObject Shell.Application
$shell.NameSpace("$letter").Self.Name = $textBox2.Text
}
$textBox2 = New-Object System.Windows.Forms.TextBox
$textBox2.Location = New-Object System.Drawing.Point(10,70) ### Location of the text box
$textBox2.Size = New-Object System.Drawing.Size(240, 20) ### Size of the text box
$textBox2.Multiline = $true ### Allows multiple lines of data
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Location = New-Object System.Drawing.Point(10,40)
$textBox.Size = New-Object System.Drawing.Size(240,20)
$form.Controls.Add($textBox)
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Test Przycisku Skrot' ### Text to be displayed in the title
$form.Size = New-Object System.Drawing.Size(500,500) ### Size of the window
$form.StartPosition = 'Manual'
$form.Location = '10,10'
$form.Topmost = $true ### Optional - Opens on top of other windows
$test_button = New-Object System.Windows.Forms.Button
$test_button.Location = New-Object System.Drawing.Size(200,420)
$test_button.Size = New-Object System.Drawing.Size (170,23)
$test_button.Text = "Mapowanie Dysku Sieciowego"
$test_button.Add_Click($button_click_2)
$form.Controls.AddRange(@($test_button,$textBox,$textBox2))
$form.ShowDialog()
解决方案
答案是,即使您将共享文件夹映射到多个驱动器号下,仍然是 MountingPoints2 中保存标签的单个注册表项。
推荐阅读
- axapta - 复杂表集的 D365 数据实体且没有自然导入键?
- java-8 - Java流过滤掉落在特定时期的对象
- c++ - 无法使用 jsoncpp 从文件中读取 json
- javascript - 从 ID 更改为 Class 后,我的图像模式不起作用
- amazon-web-services - 如何将 AWS Organizations 下的 aws 账户注册到 Control Tower 创建的 OU
- java - 当我想在 Google BigQuery 中创建 StandardSQLTypeName.ARRAY 类型的字段时接收 NPE
- api - 如何更改 API 平台中的基本 URL
- python - 实例字典的行为类似于 Python 中的类字典
- css - 自托管下载字体
- xamarin.forms - xamarin 表单中是否有一种方法,例如向导多步进度