PowerShell: Rainer Leemet, New-share.ps1

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

<source lang="powershell">

<# .SYNOPSIS

   Väike inetu skript mis teeb võrgus asuvale arvutile kausta kettale kus on kõige rohkem vaba ruumi ja jagab selle välja vaikimisi õigustes

.DESCRIPTION

   Lahe skript

.NOTES

   Autor: Rainer Leemet

.EXAMPLE

   PS> New-Share.ps1 -filename mycsvfile.csv -foldername Myfolder -sharename Myshare
  1. >

Param ( [Parameter(Mandatory = $true)] [String] $Filename, [Parameter(Mandatory = $true)] [String] $Foldername, [Parameter(Mandatory = $true)] [String] $Sharename )

Function new-share ($Foldername, $Sharename) {

               IF (!(TEST-PATH $Foldername)) { NEW-ITEM $Foldername -type Directory 
   } 
               If (!(GET-WMIOBJECT Win32_Share -filter "name='$Sharename'")) {
                   $Shares=[WMICLASS]"WIN32_Share"
                   $Shares.Create($Foldername,$Sharename,0)
   }                       

}

Function get-drive {

        Get-WmiObject win32_logicaldisk -Filter "DriveType='3'" | Sort-Object -Property FreeSpace -descending `
           | Select-Object -First 1 -ExpandProperty DeviceID

}

if (!$filename) {

write-host "Palun sisesta failinimi, mis on kohustuslik parameeter"
exit

}

Get-Content $Filename | Foreach-Object {

   $drivename = invoke-command -computername $_ -scriptblock ${function:get-drive}
   write-host $drivename
   $Foldername = $drivename +"\$Foldername"
   invoke-command -computername $_ -scriptblock ${function:New-Share} -Argumentlist $Foldername,$Sharename 
     

}