【问题标题】:Powershell Script that creates a network share on a remote computer在远程计算机上创建网络共享的 Powershell 脚本
【发布时间】:2017-11-30 23:42:30
【问题描述】:

我目前正在编写一个 powershell 脚本,该脚本在 Windows 7 的远程计算机上创建网络共享。我能够创建文件夹,但无法为文件夹创建正确的路径。

我对 powershell 还很陌生,所以我的术语可能有点不对劲。忍受我。

这是我目前所拥有的:

([wmiclass]'\\REMOTECOMPUTER\root\cimv2:Win32_Share').Create("D:\User_Data", $alias, 0, 1, $alias + " U:\ Drive")

上述方法有效,但我想让文件夹路径读取D:\User_Data\$alias$alias 只是用户文件夹的变量。

我试过了:

.Create("D:\User_Data\" + $alias

.Create("D:\User_Data" + "\" + $alias

.Create("D:\User_Data\$alias" ....

$FolderPath = "D:\User_Data\" + $alias

.Create($FolderPath .....

我已经尝试过这些,但是当我这样做时,根本没有创建共享。但是,脚本中的其他所有内容都有效。

【问题讨论】:

  • 我忘记将它添加到我尝试过的东西中。它已经被更新了。当我尝试这样做时,我没有收到错误消息,但没有创建网络共享。
  • 不,路径不存在
  • 我明白了。知道为什么当我离开它时它会起作用: Create("D:\User_Data" ?因为该文件夹也不存在。只有当我尝试添加到遇到问题的路径时。
  • 我得到的返回值为 24,虽然我不确定这到底是什么意思。
  • 未知设备或目录 (24)

标签: powershell windows-7


【解决方案1】:

看起来你想要的是字符串扩展。如果您使用双引号并在其中包含变量名称,则该名称将被扩展。 $u='cup'; "$u" 在本例中,$u 将扩展为 cup

$rpc = REMOTEPCNAME
$Share = [wmiclass]"\\$rpc\root\cimv2:Win32_Share"

If (!(GWMI Win32_Share -ComputerName $rpc -Filter 'Path="U:\"'))
{
    $Share.Create("D:\User_Data\$Alias", $Alias, 0, 1, "$Alias U:\ Drive")
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多