- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试以下各种方法,尝试以对其他 shell 和文件资源管理器中两者可见的方式挂载网络共享嗯>。根据相关命令的 MS 文档,说可以使用 -Persistent
和 -Scope Global
使它们“立即对其他 shell 可见”,但事实并非如此工作。
$mDL = 'Z' # Mount to this Drive Letter
$dDesc = 'ML-DATA' # Description of PSDrive
$NLRoot = "\\somepath.windows.net\xxx"
$UserName = "localhost\someuser"
$cred = Get-Credential -Credential $UserName
New-PSDrive -Name $mDL -PSProvider "FileSystem" -Root $NLRoot -Credential $cred -Description $dDesc -Persist -Scope Global
数据容器位于 Azure 中,除了从我的系统 (Win10) 中的其他部分可见之外,一切似乎都可以正常工作。
如何使该驱动器从其他 PowerShell
实例和文件资源管理器中可见?
更新:2022-07-06
我的错,该文本来自 New-SmbMapping 的 ss64 文档,其中指出:
When a drive mapping is created with New-SmbMapping the new drive will not be visible to any currently running processes (including Windows Explorer) until that process is restarted (or the machine is rebooted). The one exception to this is the PowerShell console, all PowerShell sessions on the machine will immediately get the new drive mappings.
也可能是非专业人士不容易理解 MS 文档,因为在 New-PSDrive 中文档中,以下内容在 2 个地方进行了说明。
在示例 4
中:
可以在本地计算机上的 PowerShell session 、文件资源管理器以及使用 net use 等工具查看映射的驱动器。
在 -Persist
下的 Paramters
列表中:
映射的网络驱动器保存在本地计算机上的 Windows 中。它们是持久的,不特定于 session ,并且可以在文件资源管理器和其他工具中查看和管理。
那么我怎样才能使这个共享用户和 session 类型不可知,使得Z:
在“任何地方”都可见并且对于文件资源管理器和他们想要使用的任何 powershell/cmd 中的“每个人”?
有用的引用:
最佳答案
我不确定 Azure 特定的注意事项是否适用,但是,一般来说:
tl;博士
“对所有其他 shell 立即可见”对于新建立的持久驱动器映射适用于:
默认情况:Shell 进程(例如 PowerShell 和 cmd.exe
session ) - 更一般地说,( native )进程通常 - 创建的:
如果您的系统已进行相应配置(见下文):创建的进程:
注意:此答案中的所有信息也适用于非持久映射驱动器,假设它们是使用系统级功能建立的,例如net.exe 使用
或文件资源管理器。 PowerShell 不允许您创建此类映射:如果您在 New-PSDrive
调用中省略 -Persist
,您将获取一个(始终是非持久的、特定于 session 且可能特定于范围的)仅限 PowerShell 驱动器。
持久映射的网络驱动器特定于用户:
正如预期,其他用户将看不到给定用户的持久映射驱动器。
令人惊讶,即使在同一用户的上下文中,也尝试从提升的 session 建立持久驱动器>(以管理员身份运行)不起作用:使映射持久的请求被悄悄地忽略(也就是说,映射只是悄悄地为当前 session 建立,并且仅对同一用户的其他提升 session 可见)。
默认情况下,提升 session 与非提升 session 不共享驱动器映射,因此最初不存在不驱动器映射在高级 session 中。
顺便说一句:
您的New-PSDrive
命令显示了两者-Persist
和-Scope Global
的使用,这确实是成功所必需的从脚本建立持久驱动器(从全局范围以外的范围,即不是直接从交互式提示符)。
如果您-Persist
单独使用,它会静静地被忽略:即非持久,已建立仅限范围本地 PowerShell 的驱动器。
鉴于建立持久性驱动器映射与 PowerShell 的范围无关,并且成功建立的持久性驱动器(或使用 net use
或文件资源管理器建立的非持久性驱动器)根据定义是可见的在所有 PowerShell 作用域中,应该不需要还需要指定-Scope Global
- 不幸的是,我们决定不解决此可用性问题:请参阅 GitHub issue #15752 .
关于azure - New-PSDrive 对其他 shell 不可见,与 MS 文档相反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72818119/
我相信我在子 shell 中调用 exit 会导致我的程序继续: #!/bin/bash grep str file | while read line do exit 0 done
我相信我在子 shell 中调用 exit 会导致我的程序继续: #!/bin/bash grep str file | while read line do exit 0 done
我有几个脚本,它们的第一部分看起来是一样的。这部分的功能是识别脚本在哪台机器上运行并相应地设置几个变量。它看起来像这样: ENV=`echo $LOGNAME | cut -c1-8` if
这是我正在尝试做的事情。我有 4 个 shell 脚本。脚本 1 需要先运行,然后是 2,然后是 3,然后是 4,并且它们必须按此顺序运行。脚本 1 需要运行(并在后台等待)2 才能正常运行,但是脚本
我有一个名为 a.sh 的脚本,其中的内容是: //a.sh: #!/bin/bash temp=0 while [ "$temp" -ne 500 ] do echo `date`
在snakemake中,使用shell()函数执行多个命令的推荐方式是什么? 最佳答案 您可以调用shell()多次内run规则块(规则可以指定 run: 而不是 shell: ): rule pro
我有一个 shell 脚本,我向其中传递了一些参数。Test1.sh -a 1 -b 2 -c“一二三” 在 Test1.sh 中,我按以下方式调用另一个 shell 脚本。Test2.sh $* 我
我有 2 个 shell 脚本。 第二个shell脚本包含以下函数第二个.sh func1 func2 first.sh 将使用一些参数调用第二个 shell 脚本, 将使用特定于该函数的一些其他参数
我有一个 Unix shell 脚本 test.sh。在脚本中,我想调用另一个 shell,然后从子 shell 执行 shell 脚本中的其余命令并退出 说清楚: test.sh #! /bin/b
我想在 shell 脚本中更改路径环境变量。路径变量需要在shell脚本执行后修改。 最佳答案 我知道有两种方法可以做到这一点。第一种是在当前 shell 的上下文中运行脚本: . myscript.
此 shell 脚本按预期运行。 trap 'echo exit' EXIT foo() { exit } echo begin foo echo end 这是输出。 $ sh foo.sh
我正在使用 vimshell在 vim 中执行命令 nnoremap vs :VimShellPop 使用此键映射,我可以打开 vim shell 并执行诸如“捆绑安装”之类的命令,然后 输入 exi
我想连接到不同的 shell(csh、ksh 等)并在每个切换的 shell 中执行命令。 下面是反射(reflect)我的意图的示例程序: #!/bin/bash echo $SHELL csh e
我目前正在尝试使用 BNF 和 LL 解析器在 C 中重新编写 shell。 否则,我需要知道 shell 运算符的优先级是什么| , > , > , & , ; ? 有没有人可以提供给我? 谢谢 最
不幸的是,我没有suspend 命令(busybox/ash)。但是我可以使用 kill -STOP $$ 从后台 shell (sh &) 返回到父 shell(以及 fg 之后)。 但是我不想输入
我需要知道,当用户切换到另一个 shell 时,通过单击它。 我试过 shellListener.shellDeactivated()但是当 shell 失去对它自己的控件的焦点时,会触发此事件,这意
file1.txt aaaa bbbb cccc dddd eeee file2.txt DDDD cccc aaaa 结果 bbbb eeee 如果能不区分大小写就更好了! 谢谢! 最佳答案 gre
我见过解压缩目录中所有 zip 文件的循环。但是,在运行此之前,我宁愿确保我将要运行的内容正常工作: for i in dir; do cd $i; unzip '*.zip'; rm -rf *.z
我对编程还很陌生,但我想知道 vim、emacs、nano 等 shell 文本编辑器如何能够控制命令行窗口。我主要是一名 Windows 程序员,所以可能在 *nix 上有所不同。据我所知,只能将文
我有一个包含第 7 列日期的文件,我的要求是将它与今天的日期进行比较,如果小于它,则删除该完整行。 此外,如果第 7 列中提到的任何日期超过 15 天,则将其修改为最多 15 天 下面的例子- now
我是一名优秀的程序员,十分优秀!