Category filter
Script to add content to files in Windows devices
IT administrators can use PowerShell scripts to add content such as words to files stored on endpoint devices. You can now deploy these scripts to multiple endpoints using the Execute Custom Script action of Hexnode UEM. Adding content to these locations no longer requires user intervention or permission.
Add date and time to the end of a specified file
1 2 |
Add-Content -Path Path of file -Value (Get-Date) -PassThru Get-Content -Path Path of file |
The Add-Content
cmdlet adds content to an item or file whose file path is specified in the Path
parameter. The Value
parameter takes the output of the Get-Date
cmdlet and the PassThru
parameter outputs the added content to the pipeline. Finally, the Get-Content
cmdlet displays the updated file with the date and time appended to the end of the file.
For example, to append the date and time of script execution to the file “Add date to file.txt
” stored in the file path “C:\Users\John\Documents
”:
Add-Content -Path C:\Users\John\Documents\“Add date to file.txt” -Value (Get-Date) -PassThru
Get-Content -Path C:\Users\John\Documents\“Add date to file.txt”
The script generates a new file if the specified file does not already exist on the device. The action history in the Hexnode UEM console also shows the contents of the file.
Add a string to all the text files in a directory with an exception
1 |
Add-Content -Path Path of the directory -Exclude Name of excluded text file -Value 'String to be added' |
The Add-Content
cmdlet adds the text string specified by the Value
parameter at the end of all the text files in a folder. The exception is the text file that is explicitly excluded by the Exclude
parameter.
E.g., Add-Content -Path C:\Users\John\Documents\*.txt -Exclude ‘Excluded text file.txt’ -Value 'End file'
This results in the “End File
” string being added at the end of all the text files in the folder “Documents
” except for the text file named “Excluded text file.txt
”.
Copy the content of a specified file to another file
1 2 3 |
$From = Get-Content -Path Path of the file to be copied from Add-Content -Path Path of the file to be copied to -Value $From Get-Content -Path Path of the file to be copied to |
The Get-Content
cmdlet gets content from an existing file specified by the Path
parameter. Then, it reads the file’s contents and stores them in the variable $From
. The Add-Content
cmdlet copies this content to a file that already exists or is generated by the script. For this, the path of the file where the content is to be copied is specified under the Path
parameter, and the $From
variable is taken as the argument for the Value
parameter. Using the Get-Content
cmdlet, the copied content is displayed in the Hexnode UEM console.
E.g., To copy the contents of the file “Copy from File 1.txt
” to the file “Copy to File 2.txt
”, use the command:
$From = Get-Content -Path C:\Users\John\Documents\‘Copy from File 1.txt’
Add-Content -Path C:\Users\John\Documents\‘Copy to File 2.txt’ -Value $From
Get-Content -Path C:\Users\John\Documents\‘Copy to File 2.txt’
Add content to a read-only file
1 2 3 4 5 |
New-Item -Path Path of the read-only file -ItemType File Set-ItemProperty -Path Path of the read-only file -Name IsReadOnly -Value $True Get-ChildItem -Path Path of the read-only file Add-Content -Path Path of the read-only file -Value 'Enter the content to be added here' -Force Get-Content -Path Path of the read-only file |
The script adds content to a read-only file that already exists or is created by the script.
Create a new file using PowerShell’s New-Item
cmdlet. You may remove this cmdlet if the read-only file already exists, but the script will still work even if you don’t.
To remove the read-only attribute, use the Set-ItemProperty
command with the Value
parameter set to False.
Use PowerShell’s Get-ChildItem
command to retrieve specific details from the file, such as Mode
, LastWriteTime
, Length
, and Name
.
The Add-Content
cmdlet appends a line to the read-only file specified by the -Path
parameter.
For example, the script below appends the string “Add value 1
” to the read-only file “IsReadOnlyTextFile.ps1
”:
New-Item -Path C:\Users\John\Documents\IsReadOnlyTextFile.ps1 -ItemType File
Set-ItemProperty -Path C:\Users\John\Documents\IsReadOnlyTextFile.ps1 -Name IsReadOnly -Value $True
Get-ChildItem -Path C:\Users\John\Documents\IsReadOnlyTextFile.ps1
Add-Content -Path C:\Users\John\Documents\IsReadOnlyTextFile.ps1 -Value 'Add value 1' -Force
Get-Content -Path C:\Users\John\Documents\IsReadOnlyTextFile.ps1
Add content to files of a specific format
1 |
Add-Content -Path Path of the directory\* -Filter *.file format -Value "Content to be added" |
Admins can use the script to add content to files of a specific format that are stored in a directory. When using filters to define the Path
parameter, you must include an asterisk (*
) at the end to indicate the contents of the path.
E.g., You can add a string “Text for all files in .ps1 format
” to all the .ps1
files in C:\Users\John\Documents\*
of the endpoint device using the command:
Add-Content -Path C:\Users\John\Documents\* -Filter *.ps1 -Value "Text for all files in .ps1 format"