我尝试使用net share命令在powershell中共享一个文件夹,我不能使用组或用户名来获得共享权限,因为这个脚本将在具有不同操作系统语言的系统上使用,因此我使用组/ user SID设置共享权限。
这是我的脚本,我的功能在命令之外很棒。但我的功能不适用于" NET SHARE" CMD。
function Get-GroupName {
param ($SID)
$objSID = New-Object System.Security.Principal.SecurityIdentifier($sid)
$objUser = $objSID.Translate([System.Security.Principal.NTAccount])
$objUser.Value
}
# Share Folder + Set Share Permission SID Based
cmd /c net share MSI=C:\MSI /GRANT:(Get-GroupName -SID 'S-1-1-0'),READ
答案 0 :(得分:1)
这将有效:
cmd /c $( "net share MSI=C:\MSI /GRANT:""$(Get-GroupName -SID 'S-1-1-0')"",READ" )
但是,如果您使用的是Windows 8或更高版本的Windows Server 2012或更高版本,则可以使用Set-SmbShare
和Grant-SmbShareAccess
cmdlet代替: