2012-09-14 7 views
3

공유를 생성하거나 사용 권한을 할당하는 데 아무 문제가 없지만 실제로는이 작업에 완전히 액세스하는 데 어려움을 겪고 있습니다. 저는 서버의 관리자입니다. 다른 사용자가 액세스 할 수 있도록 서버를 테스트하는 중입니다. 지금은 모든 사용자가 전체 액세스 권한을 사용하도록 설정하려고합니다.Powershell이 ​​현재 서버에서 공유를 생성합니다 - 사용자/그룹에게 사용 권한을 부여하십시오.

공유에 새 파일/폴더를 만들려고하면 액세스가 거부됩니다.

powershell을 통해 공유를 만들 때 다른 사람이이 오류가 발생합니까?

function New-Share 
    { 
     param (
     [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Mandatory=$true, HelpMessage="No folder name specified")] 
     [string]$FolderName, 
     [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Mandatory=$true, HelpMessage="No share name specified")] 
     [string]$ShareName, 
     [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Mandatory=$false, HelpMessage="No description specified")] 
     [string]$Description 
     ) 
    $error.clear() 
    # Check for folder; Create it if it doesn't exist 
     If (!(Test-Path $FolderName)) 
      { 
       New-Item $FolderName -type Directory | Out-Null 
      } 
      # Check for share; Create it if it doesn't exist 
      $Shares=[WMICLASS]"WIN32_Share" 
      if (!(Get-WMIObject Win32_share -filter "name='$ShareName'")) 
       { 
       $Shares.Create($FolderName,$ShareName,0,65535,$Description) | Out-Null 
       if (!($error)) 
        { 
        # Share created 
        return $true 
        } else { 
        # Error 
        return $false 
        } 
       } else { 
      # Share Exists 
      return $false 
      } 
    } 

나는이와 기능을 호출했습니다 :

function bo.Share() 
    { 
     $domain = [Environment]::UserDomainName 
     $BDrive = "$boDrive" + ":\SYNintviewer" 
     New-Share -FolderName "$BDrive" -ShareName "SYNintviewer" -Description "SYNintviewer" 
    } 
+0

이 모든 것이 작동하므로 나중에 권한이 없습니까? 스크립트에서 Set-ACL을 사용하여 문제를 해결하려고 했습니까? 아니면 cacls.exe를 해결하려고 했습니까? –

+0

만약 당신이'| Out-Null''$ Shares.Create ($ FolderName, $ ShareName, 0,65535, $ ​​Description)'ReturnValue 란 무엇입니까? – Nick

+0

의견을 주셔서 감사합니다. ACL을 올바르게 설정하지 않아도 올바르게 형식화해야한다고 생각합니다. 지금까지는 새로운 줄을 사용하고 있습니다 : 새 공유 -Sharename "SYNintviewer"-Sharepath "$ BDrive"-group "인증 된 사용자"-auth FULL – rud3y

답변

1

내가 실제로 내 자신이 작업을 가지고 ...

여기

내가 사용하고 코드입니다

이 함수를 대신 호출하면

function bo.Share() 
{ 
    $domain = [Environment]::UserDomainName 
    $BDrive = "$boDrive" + ":\SYNintviewer" 
    echo "$boDrive is BoDRIVE" 
    echo "$BDrive is BDRIVE" 
    New-Share -Sharename "SYNintviewer" -Sharepath "$BDrive" -group "Authenticated Users" -auth FULL 
} 
관련 문제