I don't use Set-Content very often, this is because for routine tasks that
need to save to file I prefer to use
Out-File. The one job that I have for the Set-Content cmdlet is
editing a file with -replace. What makes me wary of
Set-Content is that instead of appending, its default behaviour is to delete the contents of a file.
Note 1: The reason that I used the variable
$File to define
the path, is that I want to remind you to change its value before
running this script on your machine.
Note 2: If the file specified does not exist PowerShell
creates it!
Note 3: However, if the file has existing content, the new value
will overwrite the old entries with the -value.
Note 4: One reason that PowerShell is replacing
VBScript is the ease with which PowerShell creates, opens and closes files.
In fact it handles these basic file operations automatically, thus don't
look for, or worry about, 'File Close', PowerShell will handle the operation
natively.
Although -replace does not appear amongst the parameter's of any
PowerShell cmdlet it clearly works in this context. Observe in
this example how the two Content cmdlets work
together to edit the text.
Windows Management Instrumentation (WMI) is one of the hidden
treasures of Microsoft operating systems. Fortunately, Solarwinds
have created a
Free WMI Monitor so that you can discover these gems of performance
information, and thus improve your PowerShell scripts. Take the guess work out of which WMI counters to use when scripting the
operating system, Active Directory or Exchange Server.
Checking the help file will reveal useful parameters, for instance you
can employ the -Force parameter to overwrite read-only files.
Reading the help file also reveals that this command is primarily used
for writing text to multiple files, perhaps this is why I am wary of
using it myself and avoid recommending this particular cmdlet for others
to practice with.
# PowerShell Alias Ac Get-Alias
-definition Set-Content
With Microsoft, there are always at least
three ways of doing everything, what seems like redundancy when you are an
expert, seems like perspective when you are a beginner. One obvious
example is that you can abbreviate format-Table to ft. As you increase
your range of PowerShell commands, keep an eye out for another
PowerShell Alias, for example gci (Get-Childitem).
»
Summary of PowerShell's Set-Content
In VBScript dealing with files was never straightforward. However,
with PowerShell it's so effortless that you may not realize that the
Set-Content cmdlet opens and closes as part of its
job description.
Set-Content is a simple enough cmdlet to understand. What it does is
write text to files.
Just playing with Set-Content
leads to questions such as 'Why bother', or 'What's the point?' I hope that
your
answer to such questions will give you a PowerShell technique that you can
incorporate in bigger more complex scripts.
If you like this page then please share it with your friends
Please email me if you have a better example script. Also please report any factual mistakes, grammatical errors or broken links, I will be happy to correct the fault.
Windows Management Instrumentation (WMI) is one of the hidden
treasures of Microsoft operating systems.
Fortunately, Solarwinds
have created the
Free WMI Monitor so that you can actually see and understand these gems of
performance information. Take the guess work out of which
WMI counters to use for applications like Microsoft Active Directory,
SQL or Exchange Server.