我正在使用创建本地共享文件夹的PowerShell脚本。
function shareCacheFolder() {
$Sharename = 'cacheFolder'
$Foldername = 'c:\cacheFolder'
if (!(Get-WmiObject Win32_Share -Filter "name='$Sharename'")) {
$Shares = [WMICLASS]"Win32_Share"
$Shares.Create($Foldername, $Sharename, 0)
}
}
这似乎适用于大多数机器。但不是我的。
我得到了这个输出:
__GENUS : 2 __CLASS : __PARAMETERS __SUPERCLASS : __DYNASTY : __PARAMETERS __RELPATH : __PROPERTY_COUNT : 1 __DERIVATION : {} __SERVER : __NAMESPACE : __PATH : ReturnValue : 8 PSComputerName :
我也尝试过使用这个惯例:
function shareCacheFolder() {
$path = "c:\cachefolder"
$name = "cachefolder"
$type = 0
$password = ""
$description = ""
$max = 100
$access = $null
if (!(Get-WmiObject Win32_Share -Filter "name='$Sharename'")) {
Invoke-WmiMethod -Class Win32_Share -Name Create -ArgumentList $access, $description, $max, $name, $password, $path, $type
}
}
我使用PowerShell版本3。
答案 0 :(得分:0)
作为documented,返回码8表示“未知错误”。该命令在语法上是正确的,适用于其他计算机,因此问题不在于您的代码。此问题也不太可能是由于共享名称冲突,丢失文件夹,权限问题等原因造成的,因为这会导致不同的错误/返回代码。
我怀疑您的系统上的服务器服务没有运行。使用以下命令验证:
Get-Service 'Server' | Select-Object StartType, Status | Format-List
开始类型应为“自动”,状态应为“正在运行”。如果不是,请更改开始类型并启动服务,如下所示:
Get-Service 'Server' | Set-Service -StartupType 'Automatic'
Start-Service 'Server'