Powershell 非英语系统上的新SMBShare

Powershell 非英语系统上的新SMBShare,powershell,internationalization,Powershell,Internationalization,当我尝试使用以下命令在西班牙系统上使用PowerShell创建共享时: New SMBShare-Name'scripts$”-Path'c:\scripts'-ChangeAccess Everyone 我得到一个错误,转化为: New SMBShare:帐户名和安全标识符之间未进行映射。 因为它需要的是todo组,而不是所有人 是否有一种方法可以为所有本地化设置一个新SmbShare命令?每个人的身份被称为“众所周知的”安全标识符 您可以构造并将其转换为本地化表示,如下所示: $Everyo

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

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

我得到一个错误,转化为:

New SMBShare:帐户名和安全标识符之间未进行映射。

因为它需要的是
todo
组,而不是
所有人


是否有一种方法可以为所有本地化设置一个
新SmbShare
命令?

每个人的
身份被称为“众所周知的”安全标识符

您可以构造并将其转换为本地化表示,如下所示:

$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

您需要手动解析已知SID的身份:
[System.Security.Principal.SecurityIdentifier]::新建([System.Security.Principal.WellKnownSidType]::WorldSid,$null)。翻译([System.Security.Principal.NTAccount])。Value
@MathiasR.Jessen为我工作。谢谢。很好,添加了正确的答案!