https://github.com/tonypags/PsWinAdmin
Various Windows tools for use by an administrator.
https://github.com/tonypags/PsWinAdmin
Last synced: 4 months ago
JSON representation
Various Windows tools for use by an administrator.
- Host: GitHub
- URL: https://github.com/tonypags/PsWinAdmin
- Owner: tonypags
- License: mit
- Created: 2020-02-09T04:58:04.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-25T14:08:34.000Z (5 months ago)
- Last Synced: 2024-11-25T15:22:43.163Z (5 months ago)
- Language: PowerShell
- Size: 235 KB
- Stars: 10
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - tonypags/PsWinAdmin - Various Windows tools for use by an administrator. (PowerShell)
README
# PsWinAdmin
Various Windows tools for use by an administrator.***
# Getting Started
1. Installation processWithout Repository available, clone directly from Git:
$uri = ' '.Trim()
$ModuleParent = $env:PSModulePath -split ';' | Where {$_ -like "*$($env:USERNAME)*"} | Select -First 1
Set-Location $ModuleParent
git clone $uri
2. Dependencies
This module has the following PowerShell Dependancies:
NoneThis module has the following Software Dependancies:
Windows OS
3. Version History
- v0.2.0.5 - Initial Commit.
# Build, Test, and Publish
1. Pester test.
2. Get next version number `v#.#.#.#` and a comment `[string]` for the change log.
3. Create a new Package folder as .\Package\v#.#.#.#\
4. Copy the PSD1 files in as-is.
Update the version number and copyright date if required.
Update the Exported Function Name array with the basenames of the files under the Public folder only.
5. Create a new, blank PSM1 file in here.
Populate it with all of the PS1 files' content from the .\Public and .\Private folders.
6. Create a NUSPEC file and update the version and change log.
7. Build the NuGet package.
8. Push to private repo.
# Examples
## Check for Pending Reboots
```
[Net.ServicePointManager]::SecurityProtocol=[enum]::GetNames([Net.SecurityProtocolType])|Foreach-Object{[Net.SecurityProtocolType]::$_};(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/tonypags/PsWinAdmin/master/Public/Get-PendingReboot.ps1')|iex;Get-PendingReboot
```## Review Reboot History
```
[Net.ServicePointManager]::SecurityProtocol=[enum]::GetNames([Net.SecurityProtocolType])|Foreach-Object{[Net.SecurityProtocolType]::$_};(New-Object Net.WebClient).DownloadString( 'https://raw.githubusercontent.com/tonypags/PsWinAdmin/master/Public/Get-RebootReport.ps1' )| iex; Get-RebootReport | ft -a -wrap
```## Ensure TLS v1.2 is enabled on Windows supported OSes
```
[Net.ServicePointManager]::SecurityProtocol=[enum]::GetNames([Net.SecurityProtocolType])|Foreach-Object{[Net.SecurityProtocolType]::$_};$web=(New-Object Net.WebClient);@('Confirm-RequiresAdmin','Assert-TlsVersion1.2') | %{$web.DownloadString("https://raw.githubusercontent.com/tonypags/PsWinAdmin/master/Public/$($_).ps1")|iex; iex "$_"}
```## Find Events around the time of the last reboot
(this example outputs to the console using Format-Table)
```
$csvPath="$($env:temp)\temp.csv";$LogNames=@('System','Application');[Net.ServicePointManager]::SecurityProtocol=[enum]::GetNames([Net.SecurityProtocolType])|Foreach-Object{[Net.SecurityProtocolType]::$_};(New-Object Net.WebClient).DownloadString( 'https://raw.githubusercontent.com/tonypags/PsWinAdmin/master/Public/Get-RebootReport.ps1' )| iex;$LastRebootTime = (Get-RebootReport)[0].Date;$Events=@();$LogNames|%{$FilterHashtable = @{LogName=$_;EndTime=($LastRebootTime.AddMinutes(1));StartTime=($LastRebootTime.AddMinutes(-7));};Get-WinEvent -FilterHashtable $FilterHashtable|%{$Events += $_}};$Events| sort TimeCreated |select LogName, TimeCreated, ProviderName, Message | export-csv $csvPath -notype; ii $csvPath
```# Contribute
How to help make this module better:1. Add your changes to a new feature sub-branch.
2. Add Pester tests for your changes.
3. Push your branch to origin.
4. Submit a PR with description of changes.
5. Follow up in 1 business day.