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