{"id":1938,"date":"2016-11-28T19:15:16","date_gmt":"2016-11-28T17:15:16","guid":{"rendered":"http:\/\/workplace.skyworker.de\/?p=1938"},"modified":"2023-08-22T10:39:17","modified_gmt":"2023-08-22T08:39:17","slug":"appsense-personalisierung-benutzerdaten-automatisiert-verschieben-movedatatogroup","status":"publish","type":"post","link":"http:\/\/workplace.skyworker.de\/?p=1938","title":{"rendered":"AppSense &#8211; Personalisierung: Benutzerdaten automatisiert verschieben (MoveDataToGroup)"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"1938\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">0    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"1938\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-down\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\">0<\/span>\r\n<\/div><\/div><p style=\"text-align: justify;\">Das folgende Skript verschiebt automatisiert Benutzerdaten von einer Personalisierungsgruppe in\u00a0eine andere. Dies kann in Migrationsszenarien sehr hilfreich sein.<\/p>\n<p style=\"text-align: justify;\">Dazu liest das Skript eine CSV Datei, in der sich die Benutzerkennungen befinden,\u00a0ein und arbeitet diese ab.<\/p>\n<p><!--more-->Im Skript muss unter Variablen der AppSense Server und die Dom\u00e4ne angegeben werden!<\/p>\n<p>[php]<br \/>\n#&#8212;&#8211;Auslesen des Skriptpfad&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nfunction Get-ScriptDirectory {<br \/>\n$Invocation = (Get-Variable MyInvocation -Scope 1).Value<br \/>\nSplit-Path $Invocation.MyCommand.Path<br \/>\n}<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#&#8212;&#8211;Variablen&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n$AppSenseServer = &quot;APPSENSESERVER&quot;<br \/>\n$UDomain = &quot;DOMAIN&quot;<br \/>\n$SourceGroupName = &quot;Migration&quot;<br \/>\n$DestinationGroupName = &quot;PG01&quot;<br \/>\n$global:LogFile = Join-Path (Get-ScriptDirectory) &quot;AppSense_Migration.log&quot;<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#&#8212;&#8211;Read user file&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; ERROR &#8211; No user file found&quot; -f (Get-Date)<br \/>\n$userlist = Join-Path (Get-ScriptDirectory) &quot;appsense_migrate_user.csv&quot;<br \/>\nIf (-NOT (test-path &quot;$userlist&quot;)){$logText | out-file -Append $global:LogFile; EXIT 2}<br \/>\nElse {$global:UserList = Get-Content $userlist}<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#&#8212;&#8211;Load Appsense module&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nimport-module &quot;c:\\program files\\AppSense\\Environment Manager\\Personalization Server\\API\\Modules\\EMPImportExport&quot;<br \/>\n$pmClient = [PSProxy]::ConnectWindows($AppSenseServer)<br \/>\nIf ($? -eq $False){$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; ERROR &#8211; Cannot reach Appsense server $AppSenseServer&quot; -f (Get-Date); $logText | out-file -Append $global:LogFile; EXIT 3}<br \/>\nElse{$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; SUCCESS &#8211; Connected Appsense server $AppSenseServer&quot; -f (Get-Date); $logText | out-file -Append $global:LogFile}<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#&#8212;&#8211;Functions&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nfunction fu_MoveDataToGroup ($MUser){<br \/>\nwrite-host &quot;Migrate user $MUser. Please wait&#8230;&quot;<br \/>\n$ReutrnCode = $pmClient.MoveDataToGroup(&quot;$UDomain\\$MUser&quot;,$SourceGroupName,$DestinationGroupName,0,0)<br \/>\nswitch ($ReutrnCode.ErrorCode){<br \/>\n-1 {$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; ERROR &#8211; $MUser &#8211; user or group does not exist&quot; -f (Get-Date);write-host $logText;$logText | out-file -Append $global:LogFile}<br \/>\n0 {$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; ERROR &#8211; $MUser &#8211; data exists in destination group but override not set&quot; -f (Get-Date);write-host $logText;$logText | out-file -Append $global:LogFile}<br \/>\n1 {$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; SUCCESS &#8211; $MUser &#8211; OK, always migrated&quot; -f (Get-Date);write-host $logText;$logText | out-file -Append $global:LogFile}<br \/>\n2 {$logText = &quot;{0:yyyy-MM-dd\u00a0 HH-mm-ss} &#8211; SUCCESS &#8211; $MUser &#8211; worked OK but new group\u2019s whitelists don\u2019t match old (warning)&quot; -f (Get-Date);write-host $logText;$logText | out-file -Append $global:LogFile}<br \/>\n}<br \/>\n}<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#&#8212;&#8211;Migrate user&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nforeach ($entry in $global:UserList){<br \/>\nIf ($entry){fu_MoveDataToGroup $entry}<br \/>\n}<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nStart-Process -FilePath &quot;C:\\windows\\system32\\notepad.exe&quot; -ArgumentList &quot;$global:LogFile&quot;<br \/>\n[\/php]<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>0 0 Das folgende Skript verschiebt automatisiert Benutzerdaten von einer Personalisierungsgruppe in\u00a0eine andere. Dies kann in Migrationsszenarien sehr hilfreich sein. Dazu liest das Skript eine CSV Datei, in der sich die Benutzerkennungen befinden,\u00a0ein und arbeitet diese ab.<\/p>\n","protected":false},"author":1,"featured_media":1943,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115,116],"tags":[117,118],"_links":{"self":[{"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/posts\/1938"}],"collection":[{"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1938"}],"version-history":[{"count":5,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/posts\/1938\/revisions"}],"predecessor-version":[{"id":1950,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/posts\/1938\/revisions\/1950"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=\/wp\/v2\/media\/1943"}],"wp:attachment":[{"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1938"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/workplace.skyworker.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}