Malá noticka k portable powershellu.Beta expiruje 1.2.2011
sobota 6. listopadu 2010
úterý 2. listopadu 2010
Powershell–různé praktické
Stahování souboru z internetu pomocí powershellu,scriptík si samozřejmě může každý ohnout dle svých představ.
[reflection.assembly]::LoadWithPartialName("Microsoft.VisualBasic") | Out-Null
$url = 'http://www.idera.com/images/Tours/Videos/PowerShell-Plus-IDE-1.wmv'
$dest = "$home\video.wmv"
$object = New-Object Microsoft.VisualBasic.Devices.Network
$object.DownloadFile($url, $dest, "", "", $true, 500, $true, "DoNothing")
Invoke-Item $dest
Powershell runas
Start-Process powershell -verb runas
Start procesu jako jiny uživatel
Start-Process powershell -LoadUserProfile -Credential (Get-Credential)
Pěkný scriptík broken hardware
# Display Computer details
"Computer Details:"
$comp = gwmi Win32_ComputerSystem
"Manufacturer: {0}" -f $comp.Manufacturer
"Model: {0}" -f $comp.Model
$computer2 = Get-WmiObject Win32_ComputerSystemProduct
"Service Tag: {0}" -f $computer2.IdentifyingNumber
""
#Get hardware that is errored
"Hardware that's not working list"
$broken = Get-WmiObject Win32_PnPEntity | where {$_.ConfigManagerErrorCode -ne 0}
#Display broken hardware
foreach ($obj in $broken){
"Description: {0}" -f $obj.Description
"Device ID: {0}" -f $obj.DeviceID
"Error ID: {0}" -f $obj.ConfigManagerErrorCode
""
}
Scriptík vhodný pro spoustu lidí lidí co navštěvují forum s jedním dotazem pořád dokola – nechci aby se sit hlásila jako neidentifikovatelná a nemůžu to změnit
$NLMType = [Type]::GetTypeFromCLSID(‘DCB00C01-570F-4A9B-8D69-199FDBA5723B’)
$INetworkListManager = [Activator]::CreateInstance($NLMType)
$NLM_ENUM_NETWORK_CONNECTED = 1
$NLM_NETWORK_CATEGORY_PUBLIC = 0x00
$NLM_NETWORK_CATEGORY_PRIVATE = 0x01
$UNIDENTIFIED = "Unidentified network"
$INetworks = $INetworkListManager.GetNetworks($NLM_ENUM_NETWORK_CONNECTED)
foreach ($INetwork in $INetworks)
{
$Name = $INetwork.GetName()
$Category = $INetwork.GetCategory()
if ($INetwork.IsConnected -and ($Category -eq $NLM_NETWORK_CATEGORY_PUBLIC) -and ($Name -eq $UNIDENTIFIED))
{
$INetwork.SetCategory($NLM_NETWORK_CATEGORY_PRIVATE)
}
}