DataGen/initialize-knowledgearticle.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
param ( $count = 20, [switch]$whatif, [switch]$verbose) BEGIN { # the definition of Out-TestLog . ./Common.ps1 $TESTNAME = $MyInvocation.MyCommand $DOCUMENT = "${PWD}\Document.RTF" $class = get-scsmclass "System.Knowledge.Article" # get rid of the article we're creating get-scsmobject $class -filter "DisplayName = 'TestArticle1'"| remove-scsmobject -force $STARTTIME = [datetime]::Now $OPEN = ([io.filemode]::Open) $RACC = ([io.fileaccess]::Read) $RSHR = ([io.fileshare]::read) } END { for($i = 0; $i -lt $count; $i++) { try { $G = [guid]::NewGuid() $Title = Get-Lorem 6 $script:str = new-object io.filestream "${DOCUMENT}",$OPEN,$RACC,$RSHR new-scsmobject -whatif:$whatif -verbose:$verbose -class $class -PropertyHashtable @{ ArticleID = "TestArticle: ${G}" Title = $Title Status = "Draft" EndUserContent = $str } Write-Progress -Act "Create KA" -Stat $Title -perc ($i/$count*100) } catch { throw $error[0] } finally { $str.close() $str.dispose() } } } |