ちあき の紹介

PowerShell大好きです!

PowerShellでRSS2.0取得!

▼ PowerShell_ISE.exe

$uri = "http://rss.rssad.jp/rss/itmatmarkit/fdotnet/rss.xml"

#▼ Ver.Invoke-RestMethod
Invoke-RestMethod -Uri $uri

<#
#▼ Ver.Invoke-WebRequest
$x1 = Invoke-WebRequest -Uri $uri
$x2 = [System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($x1.Content))
($x2).rss.channel.item
#>

<#
#▼ Ver.System.Net.WebClient
$wc = New-Object System.Net.WebClient
$wc.Encoding = [System.Text.Encoding]::UTF8
$x = $wc.DownloadString($uri)
$x.rss.channel.item
#>

▼ 参考サイト様

PowerShellでクリスマスツリー!

この記事はPowerShell Advent Calendar 2013の20日目の記事です!


▼ PSAC2013.ps1

function Twinkle-Star {
    [CmdletBinding(DefaultParameterSetName="p1")]
    param(
        [Parameter(Position=1,Mandatory=$true,ParameterSetName="p1")]
        [string]$Aa,
        [Parameter(Position=2,ParameterSetName="p1")]
        [int]$Interval=1,
        [Parameter(Position=3,ParameterSetName="p1")]
        [int]$Twinkle=10,
        [Parameter()]
        [Alias("V")]
        [char]$Value="★"
    )
    begin {
        if ($Host.Name -ne 'ConsoleHost') {
            Write-Host -ForegroundColor Red "$($Host.Name) では実行できません><"

            $path = &{ $myInvocation.ScriptName}
            $param = "-Aa `"`"`"$Aa`"`"`" -Interval $Interval -Twinkle $Twinkle -Value $Value"
            Start-Process powershell -ArgumentList "Import-Module $path; Twinkle-Star $param; Read-Host"        
            exit -1
        }
        Clear-Host
    }
    process {
     #▼ $Value(★)の位置を取得
        $Aa.ToCharArray() | 
            ForEach-Object -Begin {$obj = @()} -Process {
                Write-Host -NoNewline $_
                if ($_ -eq $Value) { 
                    $x = $Host.UI.RawUI.CursorPosition.X-2
                    $y = $Host.UI.RawUI.CursorPosition.Y
                    $obj += [pscustomobject]@{x=$x; y=$y}    
                } elseif ($_ -eq "☆") {
                    Write-Host -NoNewline `b`b$_ -ForegroundColor Yellow #☆の色
                }
        }

        #▼ カーソルの移動
        function Move-Cursor([int]$x, [int]$y) {
            $coordinate = New-Object System.Management.Automation.Host.Coordinates($x, $y)
            $Host.UI.RawUI.CursorPosition = $coordinate
        }

        #▼ $Value(★)の色を変更
        function Change-Color() {
            $obj | 
                ForEach-Object {
                    $random = $(Get-Random -Minimum 0 -Maximum 15)
                    $color = [ConsoleColor]::GetNames([System.ConsoleColor])[$random]
                    Move-Cursor $_.x $_.y
                    Write-Host -NoNewline $Value -ForegroundColor $color
                }

            Move-Cursor 0 19
            Start-Sleep $interval
        }

        #▼ $Twinkle(10)回キラキラ><
        1..$Twinkle | ForEach-Object { Change-Color }    
    }
    end {
        Write-Host "`t`tMerry Chirstmas!!`t`t`n" -ForegroundColor Red -BackgroundColor DarkGreen
        Start-Sleep 5
    }
}

<#
#▼ コマンド構文
Twinkle-Star [-Aa]  [[-Interval]  [-Twinkle] ] [-Value ]

#▼ パラメータ
-Aa:アスキーアート。
-Interval:キラキラの間隔秒数。デフォルト1秒。
-Twinkle:キラキラする回数。デフォルト10回。
-Value:キラキラする文字。デフォルト★。
#>

▼ powershell.exe

Import-Module .\PSAC2013.ps1 -Force

$christmasTree = @"
`t
        +  ・  +
          ゚。:。゚  +
      *  ・‥☆‥・
        + 。゚▲゚。  *
       +  ▲▲
          ▲▲★ +
        * ▲★彡▲  *
      十  ★彡▲▲★
        彡▲▲★∴▲ 十
        ▲▲★∴▲▲★
       ▲★∴▲▲★彡▲
       ★∴▲▲★彡▲▲★
      ▲▲▲★彡▲▲★∴▲
          ┃┃
         ■■■■
          ■■■
          ■■■
`t
"@
Twinkle-Star -Aa $christmasTree #-Interval 1 -Twinkle 10 -Value ★

▼ 参考サイト様

「もう~いくつ寝ると~♪クリスマス~♪」ですね!
クリスマスは、朝から晩まで大好きなPowerShellタンとイチャイチャしたいと思います><
それはもう1日中イチャイチャです><とっても楽しみです><><><。
ではでは皆様、よいクリスマスを!

ご清覧ありがとうございました!!

PowerShellでイベントログを取得!

▼ 【アプリケーション】の【警告】の最新【3】件のイベントログを取得
-
new!
Get-WinEvent -FilterHashtable @{ LogName=”Application”; Level=3 } -MaxEvents 3
-
Get-EventLog -LogName Application -EntryType Warning -Newest 3



▼ 参考サイト様

PowerShellでActiveDirectory!

▼ ユーザーの新規作成
cmd
net user
dsadd user
PSv4
New-ADUser

▼ グループの新規作成
cmd
net group
net localgroup
dsadd group
PSv4
New-ADGroup

▼ グループにメンバーを追加
cmd
net group
net localgroup
dsmod group
PSv4
Add-ADGroupMembe

▼ OUの新規作成
cmd
dsadd ou
PSv4
New-ADOrganizationalUnit

▼ オブジェクトの移動
cmd
dsmove cn=user1,ou=ou1,dc=chiaki1220jp,dc=local -newparent ou=ou2,dc=chiaki1220jp,dc=local
PSv4
$getUser = Get-AdUser -Filter “Name -eq `”user1`””
$getOu = Get-ADOrganizationalUnit -Filter “Name -eq `”ou2`””
Move-ADObject -Identity $getUser.DistingushedName -TargetPath $getOu.DistinguishedName

▼ OUの取得
cmd
dsquery ou
PSv4
Get-ADOrganizationalUnit -Filter * | Select-Object {$_.DistinguishedName}

▼ プロパティの取得 Ver.OU
cmd
dsget ou ou=ou1,dc=chiaki1220jp,dc=local
PSv4
Get-ADOrganizationalUnit -Filter “Name -eq `”ou1`”” -Properties *

▼ 無効になってるユーザーの取得
cmd
dsquery user “OU=ou1,DC=chiaki1220jp,DC=local” -disabled
PSv4
Get-ADUser -Filter “Enabled -eq `”$false`”” -SearchBase “OU=ou1,DC=chiaki1220jp,DC=local”

▼ ドメインコントローラの検索
cmd
dsquery server
PSv4
(Get-ADDomainController).ServerObjectDN

▼ コンピュータアカウントの無効化
cmd
dsmod computer “CN=pc1,CN=Computers,DC=chiaki1220jp,DC=local” -disabled yes
PSv4
Set-ADComputer -Identity “CN=pc1,CN=Computers,DC=chiaki1220jp,DC=local” -Enabled $false

▼ OUの削除
cmd
[表示]→[拡張機能]をon
[ou3]右クリック→[プロパティ]→[オブジェクト]→[誤って削除されないようにオブジェクトを保護する]をoff
dsrm “OU=ou3,OU=ou1,DC=chiaki1220jp,DC=local” -noprompt
PSv4
$Id = “OU=ou3,OU=ou1,DC=chiaki1220jp,DC=local”
Set-ADOrganizationalUnit -Identity $Id -ProtectedFromAccidentalDeletion $false
Remove-ADOrganizationalUnit -Identity $Id

▼ 参考サイト様

PowerShellでブラウザー外実行SilverlightApplicationインストール!

C:\Users\chiaki\AppData\LocalLow\Microsoft\Silverlight\OutOfBrowserにある><

Set-Alias sllauncher "C:\Program Files\Microsoft Silverlight\sllauncher.exe"
$install = "C:\Users\chiaki\SilverlightApplication1.xap"
$origin = "http://ちあき1220jp/$strXapName"
$shortcut = "desktop+startmenu"

sllauncher /install:$install /origin:$origin /shortcut:$shortcut /overwrite

▼ TechNet
Set-Alias←例4
▼ Silverlight SDK
SLLauncher Error Messages – Silverlight SDK – Site Home – MSDN Blogs←sllauncherパラメーター詳細