我正在尝试使用
NET USE
创建与虚拟机的连接。
当我尝试输入密码参数时,它告诉我存在语法错误。
这是我的代码:
set ip=123.45.67.89
set username=teste
set password="/Iyv*4gUoD[PUWLrn2/j"
NET USE K: \\%ip%\c$ /user:"DIR\%username%" %password%
错误是这样的:
NET USE K: \\%ip%\c$ /user:"DIR\%username%" %password%
The option /IYV*4GUOD[PUWLRN2/J is unknown.
The syntax of this command is:
NET USE
[devicename | *] [\\computername\sharename[\volume] [password | *]]
[/USER:[domainname\]username]
[/USER:[dotted domain name\]username]
[/USER:[username@dotted domain name]
[/SMARTCARD]
[/SAVECRED]
[/REQUIREINTEGRITY]
[/REQUIREPRIVACY]
[/WRITETHROUGH]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]
NET USE {devicename | *} [password | *] /HOME
NET USE [/PERSISTENT:{YES | NO}]
More help is available by typing NET HELPMSG 3506.
我知道我的密码字符串中的转义字符有问题,但我找不到解决方法。
问题是您的密码以斜杠开头。 net.exe 的实现很糟糕。
这个问题确实很现实! 💯
❌不要听那些仇恨者的话! ❌
😠 令人沮丧的是,无论 codemonkey 🤓 最终为 NET.EXE 实现了 @ARGV 命令行参数摄取,都是某种完全的菜鸟👶🏻。
有这样的😠穷😒穷😡穷👿命令行参数处理真是不合情理。
😢我很遗憾地通知您:没有解决办法。 ??
⭐ 这不是命令行的事情。使用 powershell 或 TCC 或 CMD 或 bash-under-cygwin 无法修复它。
✔是的,密码位于用户之前。 ⁉ 是的,这很愚蠢。 🤦🏻u200d♀️
✔是的,密码不会像用户前面加上“/USER:”那样前面加上“/PASS:”。也许他们认为这样更安全? 😂 这似乎就是问题的根源。斜杠用于 NET.EXE 的选项。不要停下来想,如果他们强制密码不以“/PASS:”开头,就像他们应该有的那样,这会导致以斜杠开头的密码出现问题。
✔是的,语法是正确的,并且适用于密码不以斜杠开头的情况
❌不,用引号引起来并不能解决问题。
❌不,问题不在于人们没有阅读文档📚。 如果文档如此明显,谷歌会将他们引导到那里而不是这里。
❌不,在家里舒适的 LAN 中以这种方式映射驱动器并不是不安全的。这个问题是相关的。
❌❌❌没有。通过管道(通过管道传输密码/使用重定向)将您的密码回显到 NET.EXE 也无法解决此问题。一些帖子表明这在过去有效,但[可能是出于安全原因]被更改了。
❌不,我们没有考虑 psexec
❌不,我们不会做某种不受支持的行为。这就是自动化驱动器映射的方法。
❌不,在前面添加斜线并不能解决这个问题。此外,如果某人的密码以 2 个斜杠开头怎么办?
🤔⌨
总之,问题是非常现实的,其中一个有效,而另一个则无效:
✔✔网络使用 W: 92.168.1.47\SALLY apa$$w0rd_starts_w__no_slash /USER:sal /PERSISTENT:YES
❌网络使用 W: 92.168.1.47\SALLY /pa$$w0rd_starts_w_yes_slash /USER:sal /PERSISTENT:YES
🤔⌨
最好的解决方法是:
创建一个名为“share”的新用户。它甚至可以是没有 Microsoft 帐户绑定的本地帐户。我 90% 确定它不必是管理员帐户,但我对此可能过于自信了。
为用户“共享”提供一个不以斜线开头的密码。
使用您的原始/管理员帐户,进入您共享的每个硬盘,然后:
事情发展到这个地步确实很蹩脚,但在这种情况下这是必须要做的。
或者,你知道......不要使用以斜杠开头的密码。但在某些情况下这不是一个可行的解决方案,例如一个人不再有权更改其帐户密码,这是有原因的。