非英语系统上的New-SMBShare

时间:2020-03-19 12:38:29

标签: powershell internationalization

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

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

我收到一个错误,翻译为:

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

因为它期望使用Todos组而不是Everyone

是否有一种方法可以对所有本地化使用一个New-SmbShare命令?

1 个答案:

答案 0 :(得分:2)

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
相关问题