首页 > 解决方案 > 非英文系统上的New-SMBShare

问题描述

当我尝试使用 PowerShell 在西班牙系统上使用以下命令创建共享时:

New-SMBShare -Name 'scripts$' -Path 'c:\scripts' -ChangeAccess Everyone

我收到一个错误,它转化为:

New-SMBShare: No mapping was made between account names and security identifiers.

因为它期望Todosgroup 而不是Everyone.

有没有办法New-SmbShare为所有本地化设置一个命令?

标签: powershellinternationalization

解决方案


Everyone身份被称为“众所周知的”安全标识符。

您可以像这样构造并将其转换为本地化表示:

$EveryoneWKSID = [System.Security.Principal.SecurityIdentifier]::new([System.Security.Principal.WellKnownSidType]::WorldSid, $null)
$EveryoneLocal = $EveryoneWKSID.Translate([System.Security.Principal.NTAccount]).Value

此时您可以执行以下操作:

New-SMBShare -Name 'scripts$' -Path 'c:\scripts' -ChangeAccess $EveryoneLocal

推荐阅读