'net share'在法语Windows操作系统上不起作用

时间:2016-04-28 19:12:43

标签: windows command-line nsis french

我正在Windows OS上编写一个NSIS脚本,以便在安装时创建共享目录。这是我的代码在英文Windows上运行良好,但在法语Windows 7上不起作用。

CreateDirectory C:\tmpShare
nsExec::Exec 'icacls C:\tmpShare /grant *S-1-1-0:(OI)(CI)F'
nsExec::Exec 'net share "tmpShare"="C:\tmpShare" /grant:Everyone,full  /remark:"Temp shared folder"'

原因:法语操作系统不理解net share命令中的用户名字符串'Everyone',它将翻译为法语中的'Tout le monde'。

我尝试使用'Everyone'的安全ID,即* S-1-1-0而不是字符串'Everyone',但它不适用于网络共享 (虽然WINDOWS的设计很糟糕,但是icacls可以使用它)

我尝试使用“Tout de monde”代替“Everyone”并解决了问题,现在问题是如何编写我的NSIS脚本哪个平台独立?

1 个答案:

答案 0 :(得分:1)

AccessControl plug-in可以为您转换SID:

AccessControl::SidToName "(S-1-1-0)"
Pop $2
Pop $1
MessageBox MB_OK "Name=$1 Domain=$2"