Skip to main content

Copying files with permissions

Yesterday I experienced an interesting case. A bulk copy was to be done with permissions. But somehow we couldn't use Robocopy. First of all, please use Robocopy in situations like this. You can just paste this on cmd

        Robocopy.exe <Source Path> <Destination Path> /COPY:DATS /E

That's all!!!

Now let's focus on "the die is cast" situation.

I had to write this simple copy-permissions function to copy JUST THE PERMISSIONS!

You can get the script from here, Github.

Now I think I can share how to use this simple thing!

On Powershell, type 2 mandatory fields which are string "sourcePath" and string "targetPath" and an optional switch "logEnabled"

          .\Copy-Permissions.ps1 -SourcePath "<Source Path>" -TargetPath "<Target Path>"

OR

          .\Copy-Permissions.ps1 -SourcePath "<Source Path>" -TargetPath "<Target Path>" -LogEnabled
              
Log Enabled prints out every single step otherwise, the script only writes failed test paths.

That's all. Have fun with newly gained 30 minutes :)

Comments

Popular posts from this blog

Network Scan via DHCP scopes

Hi, this post is about checking network reachability using DHCP scopes and ping. Despite network monitoring tools monitor all network, using DHCP scopes might be a useful technique for crosscheck. In order to do that, we can get scopes and find scope option with 003 ID (Router) $scopes = Get-DhcpServerv4Scope You can get scope router like this $scopeRouter = $scope | Get-DhcpServerv4Optionvalue -Optionid 003 -ErrorAction SilentlyContinue And you can acquire the result like $result = Test-NetConnection $( $scopeRouter .Value) You can find the script on GitHub https://github.com/ertugrulblt/PublicRepo/blob/master/Scan-ScopesReachability.ps1

First things first - Visual Studio Code and github integration

In this post, I want to show how to install the Visual Studio Code and show GitHub repositories. First download VS Code from Microsoft's site:  https://code.visualstudio.com/download# Let's start the installation. First, select the language Accept the license agreement :) We all know nobody reads it Choose the path Create a shortcut Please read the preferences, they are useful. I usually select everything here And then simply install. After the installation is completed, we can move on to VScode with complacence. Now we can select the repository folder to synchronize GitHub. File-->Add Folder To Workspace--> <Select folder to synchronize> Let's jump to git installation for a while. Download git and install it. Download git from  https://git-scm.com/download/win Apply for GNU license Select the folder to install, then leave the options below and move forward. Most of the time git shortcuts are not needed. Now s...

Playing with registry keys

Hello Fellow System Administrators For some reasons, I had to keep track of some variables and instead of using environmental variables, I tried to write down these variables to registry. Basically I tried to write registry keys to \HKLM\Software\<Contoso> path. I think everyone passes by here knows which company Contoso.com is. Lets start with reading registry with get-childItem  hklm:\Software\Contoso Or Key properties like ( Get-ItemProperty  -Path  hklm: \ Software \Contoso). Test After reading key and key property, now we can check the key and create it on control if it doesn't exist. function   Get-RegistryKey {      param (     [ Parameter ( Position = 0 , mandatory = $true )][ String ] $RegProperty ,     [ Parameter ( Position = 0 , mandatory = $true )][ String ] $RegPath ,     [ String ] $RegKey = "."     )    ...