Sha256: a861db87b097c9cb1b3a4b0dce7f1fe038255940ada714ad203af3bc84c37aff

Contents?: true

Size: 1.38 KB

Versions: 28

Compression:

Stored size: 1.38 KB

Contents

Param(
    [Parameter(Mandatory=$true)]
    [string]$path,
    [Parameter(Mandatory=$true)]
    [string]$share_name,
    [string]$host_share_username = $null
)

$ErrorAction = "Stop"

if (net share | Select-String $share_name) {
  net share $share_name /delete /y
}

# The names of the user are language dependent!
$objSID = New-Object System.Security.Principal.SecurityIdentifier("S-1-1-0")
$objUser = $objSID.Translate([System.Security.Principal.NTAccount])

$grant = "$objUser,Full"

if (![string]::IsNullOrEmpty($host_share_username)) {
    $computer_name = $(Get-WmiObject Win32_Computersystem).name
    $grant         = "$computer_name\$host_share_username,Full"

    # Here we need to set the proper ACL for this folder. This lets full
    # recursive access to this folder.
    <#
    Get-ChildItem $path -recurse -Force |% {
        $current_acl = Get-ACL $_.fullname
        $permission = "$computer_name\$host_share_username","FullControl","ContainerInherit,ObjectInherit","None","Allow"
        $acl_access_rule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
        $current_acl.SetAccessRule($acl_access_rule)
        $current_acl | Set-Acl $_.fullname
    }
    #>
}

$result = net share $share_name=$path /unlimited /GRANT:$grant
if ($LastExitCode -eq 0) {
    exit 0
}

$host.ui.WriteErrorLine("Error: $result")
exit 1

Version data entries

28 entries across 25 versions & 5 rubygems

Version Path
vagrant-unbundled-2.0.1.0 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-aws-mkubenka-0.7.2.pre.22 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-f3fdbf414272/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-aws-mkubenka-0.7.2.pre.16 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-1ee58c40e3f5/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-2.0.0.1 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.9.8.1 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.9.7.1 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-aws-mkubenka-0.7.2.pre.14 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-aws-mkubenka-0.7.2.pre.11 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-aws-mkubenka-0.7.2.pre.10 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-aws-mkubenka-0.7.2.pre.9 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.9.5.1 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.9.1.1 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.8.5.2 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.8.5.1 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.8.4.2 plugins/synced_folders/smb/scripts/set_share.ps1
vagrant-unbundled-1.8.4.1 plugins/synced_folders/smb/scripts/set_share.ps1