Description:
This section is for server roles, modules, or external modules. Almost all command prompt commands work just as well in Powershell. Search the “batch” label to see examples of them.
To See What Roles Are Installed:
1
| Import-Module Servermanager ; Get-Windowsfeature | Where-Object {$_.Installed -Eq $True} | Format-List Displayname
|
To just return True or False if a specific role or feature is installed, you can use this (which uses the Hyper-V role as an example):
1
| Import-module servermanager ; (Get-WindowsFeature -name hyper-v).Installed
|
To install .NET 3.5
1
| Install-WindowsFeature Net-Framework-Core -source \\networkshare\sxs
|
- or D:\sources\sxs as the source. Run get-windowsfeature afterwards to make sure it installed.
To Get A List of All Computer Names On Your Network (AD Module):
1
| Get-Adcomputer -Filter * | Select -Property Name, @{Name='Computername'; Expression={$_.Name}}
|
- The
@{}
Just Creates A Custom Column Name.
To Get Last Password Change For A User (AD Module):
1
2
3
4
5
| Get-ADUser 'UserName' -properties PasswordLastSet | format-list
# Actually that won't quite do it. Try (Replace $Account with the AD Account)
Get-ADUser -filter {Name -like $Account } –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
|
To Get the SID for an Account or get a name from SID
1
2
| wmic useraccount where sid="S-1-5-21-1180699209-877415012-3182924384-1004" get name
wmic useraccount get name,sid
|
To get the OS version and Service Pack level for all your Windows systems in a certain OU? (AD Module):
1
| Get-ADComputer -SearchScope Subtree -SearchBase "OU=PCs,DC=DOMAIN,DC=LAB" –Filter {OperatingSystem -Like "Windows*"} -Property * | Format-Table Name, OperatingSystem, OperatingSystemServicePack
|
To see which servers hold which FSMO roles (AD Module):
1
| Get-ADDomain | Select-Object InfrastructureMaster, RIDMaster, PDCEmulator
|
To Find Which Users In the Domain Have Their Account Passwords Set To Never Expire? (AD Module):
1
| Search-ADAccount -PasswordNeverExpires | Select-Object Name, Enabled
|
To Get A List Of All Active AD-Accounts With Password Expirations (AD Module):
1
2
| Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties * |
Select-Object -Property "Displayname", @{n="ExpiryDate";e={$_.PasswordLastSet.AddDays((Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days)}}
|
To reset a domain account lockout (AD Module):
1
| Reset-ComputerMachinePassword -server (domain controller) -credential (domain account with the ability to reset a computer password)
|
To See How Long A VM Has Been Running (Hyper-V Module):
1
| (Get-VM | ?{$_.State -eq "Running"} | Select -ExpandProperty Uptime | Measure-Object -Average -Property TotalHours).Average
|
To convert a vhd to vhdx (Hyper-V Module):
1
| Convert-VHD myserver.vhd myserver.vhdx
|
To convert vmdk to vhdx (Install MS Virtual Machine Converter):
1
2
| Import-Module 'C:Program FilesMicrosoft Virtual Machine ConverterMvmcCmdlet.psd1'
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath C:\myserver.vmdk -VhdType DynamicHardDisk -VhdFormat vhdx -Destination c:\myserver
|
Comments