Powershell | COMAdmin | $app is null.
Hi,
I have a power shell script which has these lines
$comservername="appname"
$comAdmin = New-Object -comobject ("COMAdmin.COMAdminCatalog.1")
$comAdmin.connect("localhost")
$apps = $comAdmin.GetCollection("Applications")
$apps.Populate();
$currentdate + " app count is " + $apps.Count | Out-File $logFileName -Append
If i run this locally, is see the count in the log file.
However if, i run this script via PSEXEC, $app is null. Any idea?
<exec program="psexec.exe" failonerror="true" verbose="true">
<arg value="TargetServer"/>
<arg value="-accepteula"/>
<arg value="-h"/>
<arg value="-i"/>
<arg value="powershell" />
<arg value="-noprofile" />
<arg value="-nologo" />
<arg value="-noninteractive" />
<arg value="-command" />
<arg value="${AppPath}my.ps1"/>
<arg value="-localpath"/>
<arg value="${AppPath}"/>
</exec>
RMK_P
None of what you are doing makes any sense.
PSExec cannot execute PowerShell scripts. You are missing way to o much information about what you are doing.
For PSEXEC issues post in the psexec forum at SYSINTERNALS.COM
$comAdmin isa n object. YOu cannot reasonably output it to a file.
I recommend starting by learning how to use basic PowerShell. Much of your issue will become clear.
\_(ツ)_/
Similar Messages
-
"Null Pointer
java/lang/NullPointerException"
What Does It Mean?I too have had this problem on a C3-01 but have eventually found a fix:
Backup the phone via PC Suite but EXCLUDE the phone settings. I suggest for speed you also exclude the memory card and bookmarks options.
Perform a hard reset by keying " *#7370#" followed by phone security code, which will be "12345" if you have not changed it.
Phone will revert to Factory Settings. All your data will have been wiped.
Connect phone to PC Suite and perform a Restore.
All your data except the settings will be re-installed. You can now re-setup your email.
If you include the settings in the backup you will introduce the same problem. I know I did twice! -
Program: Biztalk Server 2013
Server: 2012 Standard
issue: Installing via the BizTalk Server Administration Console using import MSI works fine, installing via powershell does not. Only a few of the items that should be updated in GAC_MSIL are being updated. The powershell script finishes with
Command succeeded with 0 errors, 0 warnings.
Looking through the powershell script's log file I see some warnings:
Warning: Schema "APPNAME.DataSetSchema1, [application name], Version=2.0.0.0, Culture=neutral, PublicKeyToken=4fbxxx03d" and a previously deployed schema "" have the same target namespace "http://schemas.datacontract.org/2004/07/System.Data". Target namespaces should be unique.
Warning: Assembly "[first assembly], Version=2.0.0.0, Culture=neutral, PublicKeyToken=9xxxxxx" depends on the following assemblies that must be installed in the Global Assembly Cache for runtime to succeed:
Assembly "[different assembly], Version=2.0.0.0, Culture=neutral, PublicKeyToken=8909xxxx"
Information: Deploy operation succeeded.
Information: Updating binding information.
The powershell snippets I'm using to turn on/ off and install the application are :
#needed functions
[System.Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\Microsoft BizTalk Server 2013\Developer Tools\Microsoft.BizTalk.ExplorerOM.dll")
function StopBTSApplication
param([string]$appName)
$exp = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$exp.ConnectionString = Get-BTSConnectionString
$app = $exp.Applications[$appName]
if($app -eq $null)
Write-Host "Application " $appName " not found" -fore Red
else
if($app.Status -ne 2)
#full stop of application
$null = $app.Stop(63)
$null = $exp.SaveChanges()
Write-Host "Stopped application: " $appName
function StartBTSApplication
param([string]$appName)
$exp = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$exp.ConnectionString = Get-BTSConnectionString
$app = $exp.Applications[$appName]
if($app -eq $null)
Write-Host "Application " $appName " not found" -fore Red
else
if($app.Status -eq "Stopped")
#full start of application
$null = $app.Start("StartAll")
$null = $exp.SaveChanges()
Write-Host "Started application: " $appName
}else{
write-host "App status is " $app.Status
function Get-BTSConnectionString
$group = Get-WmiObject MSBTS_GroupSetting -n root\MicrosoftBizTalkServer
$dbName = $group.MgmtDBName
$server = $group.MgmtDBServerName
[System.String]::Concat("server=", $server, ";database=", $dbName, ";Integrated Security=SSPI")
#end needed functions
$AppImInstalling = "name_of_app"
$MSIFolder = "folder where msi resides"
BTSTask ExportBindings /Destination:$localbindings /ApplicationName:$AppImInstalling
#stop biztalk to install resources correctly
StopBTSApplication($AppImInstalling)
Stop-service 'BTSSvc$BizTalkServerApplication'
Stop-service 'BTSSvc$BizTalkServerApplication32'
#Define msi file $localpackage = ($MSIFolder + "\"+$AppImInstalling +'.msi')
#install msi Write-Host "BTSTask ImportApp /Package:$localpackage /ApplicationName:$AppImInstalling /Overwrite "
BTSTask ImportApp /Package:$localpackage /ApplicationName:$AppImInstalling /Overwrite
### restore bindings from backup folder BTSTask ImportBindings /Source:$localbindings /ApplicationName:$AppImInstalling
# start biztalk
#Start-service 'BTSSvc$BizTalkServerApplication'
StartBTSApplication($AppImInstalling)
Start-service 'BTSSvc$BizTalkServerApplication'
Start-service 'BTSSvc$BizTalkServerApplication32'
Visible differences in the Admin console is that when I stop the application via the Gui only the main application I want is stopped. When I stop the main application via powershell using the above functions a referenced application also shuts down
and that doesn't happen using the gui. When starting the main application via the Gui it also fires up the host instances. When starting the main application up via powershell it doesn't start the host instances and I have to make separate calls to
start them again.Update to this:
In the above script running a MSIEXEC install after importing the app updates the GAC_MSIL just fine!
# Do msi install$runMSI = "msiexec /i: $localpackage /qn "
Write-Host "MSI command to run :" $runMSI
&($runMSI )
I'm still very curious why the import app on the gui has a slightly different behavior. I wonder if the gui also just runs a msiexec in the background after the app imports. -
On-premise High-trust App and 401 (appredirect.aspx) for anomyous user
Hello,
I've developed a provider hosted App. The App can be used by authenticated and anonymous users. On my development platform the App is working in both cases as expected. Then I configured a new test Server (I did all the steps for high trusted Apps) and installed
the new App (Register app, created a new package in Visual Studio, did the changes for the TokenHelper class and so on). Now, the App ist working for authenticated users only. For anonymous users the appredirect page is asking for credentials. The SharePoint
log contains only a few Information about the problem:
client_id: i:0i.t|ms.sp.ext|..... and instance_id:
https://xxx/Pages/AppPartPage.aspx?SPHostUrl=http%3A%2F%2FXXXXXXX%2FDE%2FSP2013Standard&SPHostTitle=SP2013%20Standard%20Layout&SPAppWebUrl=""&SPLanguage=de%2DCH&SPClientTag=1&SPProductNumber=15%2E0%2E4420%2E1017&wpId=g%5F5b8feaca%5F038f%5F473d%5F8001%5F0a91849f9a05&editmode=0&SenderId=1DD84F040
from query string
redirectLaunUrl after getting it from query string, web or app instance:
https://remote-domain-app/Pages/AppPartPage.aspx?SPHostUrl=http%3A%2F%2FXXXXXXX%2FDE%2FSP2013Standard&SPHostTitle=SP2013%20Standard%20Layout&SPAppWebUrl=""&SPLanguage=de%2DCH&SPClientTag=1&SPProductNumber=15%2E0%2E4420%2E1017&wpId=g%5F5b8feaca%5F038f%5F473d%5F8001%5F0a91849f9a05&editmode=0&SenderId=1DD84F040
redirectLaunUrl after getting token replacement:
https://remote-domain-app/Pages/AppPartPage.aspx?SPHostUrl=http%3A%2F%2FXXXXXXX%2FDE%2FSP2013Standard&SPHostTitle=SP2013%20Standard%20Layout&SPAppWebUrl=""&SPLanguage=de%2DCH&SPClientTag=1&SPProductNumber=15%2E0%2E4420%2E1017&wpId=g%5F5b8feaca%5F038f%5F473d%5F8001%5F0a91849f9a05&editmode=0&SenderId=1DD84F040
m_oauthAppId after NormalizeAppIdentifier() i:0i.t|ms.sp.ext|548...... Now getting app principal info.
decided that we need to do a POST to the app.
NOTHING MORE
The remote IIS web allows anonymous access and I can open the remote web site as anonymous user. Tried to set the the App Principal permission again, but without luck. When the remote web is stopped the 401 error still exist - no other error.
I've no idea what I can check next.Hi,
You can use PowerShell to get the AppPrincipal.
$targetWeb = Get-SPSite "http://dev.my.com"
$clientID = "82ea34fc-31ba-4e93-b89a-aa41b023fa7e"
$authRealm = Get-SPAuthenticationRealm -ServiceContext $targetWeb
$AppIdentifier = $clientID + "@" + $authRealm
$appPrincipal = Get-SPAppPrincipal -Site $targetWeb.RootWeb -NameIdentifier $AppIdentifier
I suggest you try to delete the app and use the following PowerShell script to install the APP.
param
[string]$Web = $(throw '- Need a SharePoint web site URL (e.g. "http://portal.contoso.com/")'),
[string]$Source = "ObjectModel"
Write-Host -ForegroundColor White "-------------------"
Write-Host -ForegroundColor White "| App Installer |"
Write-Host -ForegroundColor White "-------------------"
Write-Host -ForegroundColor White "- "
#Global vars
$AppPackageName = "App.app";
#Loads powershell settings
Write-Host -ForegroundColor White "- Load Powershell context.."
$0 = $myInvocation.MyCommand.Definition
$dp0 = [System.IO.Path]::GetDirectoryName($0)
#Loads the SharePoint snapin
Write-Host -ForegroundColor White "- Load SharePoint context.."
$ver = $host | select version
if ($ver.Version.Major -gt 1) {$host.Runspace.ThreadOptions = "ReuseThread"}
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell";
[void][System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
#Imports the App package
Write-Host -ForegroundColor White "- Import app package '$AppPackageName'..."
$appPath = "C:\Projects\App\App\bin\Debug\app.publish\1.0.0.0" + "\" + $AppPackageName;
if ($Source.Equals("ObjectModel", [System.StringComparison]::InvariantCultureIgnoreCase)) {
$sourceApp = ([microsoft.sharepoint.administration.spappsource]::ObjectModel);
elseif ($Source.Equals("Marketplace", [System.StringComparison]::InvariantCultureIgnoreCase)) {
$sourceApp = ([microsoft.sharepoint.administration.spappsource]::Marketplace);
elseif ($Source.Equals("CorporateCatalog", [System.StringComparison]::InvariantCultureIgnoreCase)) {
$sourceApp = ([microsoft.sharepoint.administration.spappsource]::CorporateCatalog);
elseif ($Source.Equals("DeveloperSite", [System.StringComparison]::InvariantCultureIgnoreCase)) {
$sourceApp = ([microsoft.sharepoint.administration.spappsource]::DeveloperSite);
elseif ($Source.Equals("RemoteObjectModel", [System.StringComparison]::InvariantCultureIgnoreCase)) {
$sourceApp = ([microsoft.sharepoint.administration.spappsource]::RemoteObjectModel);
$spapp = Import-SPAppPackage -Path "$appPath" -Site $Web -Source $sourceApp -Confirm:$false -ErrorAction SilentlyContinue -ErrorVariable err;
if ($err -or ($spapp -eq $null))
Write-Host -ForegroundColor Yellow "- An error occured during app import !"
throw $err;
Write-Host -ForegroundColor White "- Package imported with success."
#Installs the App
Write-Host -ForegroundColor White "- Install the APP in web site..."
$app = Install-SPApp -Web $Web -Identity $spapp -Confirm:$false -ErrorAction SilentlyContinue -ErrorVariable err;
if ($err -or ($app -eq $null)) {
Write-Host -ForegroundColor Yellow "- An error occured during app installation !"
throw $err;
$AppName = $app.Title;
Write-Host -ForegroundColor White "- App '$AppName' registered, please wait during installation..."
$appInstance = Get-SPAppInstance -Web $Web | where-object {$_.Title -eq $AppName};
$counter = 1;
$maximum = 150;
$sleeptime = 2;
Write-Host -ForegroundColor White "- Please wait..." -NoNewline;
$url = "$($Web)_layouts/15/appinv.aspx?AppInstanceId={$($appInstance.Id)}"
$ie = New-Object -com internetexplorer.application
try
$ie.visible=$true
$ie.navigate2($url)
while ($ie.busy)
sleep -milliseconds 60
$trustButton = $ie.Document.getElementById("ctl00_PlaceHolderMain_BtnAllow")
$trustButton.click()
sleep -Seconds 1
Write-Host "App was trusted successfully!"
catch
throw ("Error Trusting App");
while (($appInstance.Status -eq ([Microsoft.SharePoint.Administration.SPAppInstanceStatus]::Installing)) -and ($counter -lt $maximum))
Write-Host -ForegroundColor White "." -NoNewline;
sleep $sleeptime;
$counter++;
$appInstance = Get-SPAppInstance -Web $Web | where-object {$_.Title -eq $AppName}
Write-Host -ForegroundColor White ".";
if ($appInstance.Status -eq [Microsoft.SharePoint.Administration.SPAppInstanceStatus]::Installed) {
Write-Host -ForegroundColor White "- The App was successfully installed.";
$appUrl = $appInstance.AppWebFullUrl;
Write-Host -ForegroundColor White "- The App is now available at '$appUrl'.";
Write-Host -ForegroundColor White "- (Don't forget to add app host name in your host file if necessary...).";
Write-Host -ForegroundColor White "- "
else {
Write-Host -ForegroundColor Yellow "- An unknown error has occured during app installation. Read SharePoint log for more information.";
More TroubleShooting Tips for High Trust Apps on SharePoint 2013
http://blogs.technet.com/b/speschka/archive/2012/11/01/more-troubleshooting-tips-for-high-trust-apps-on-sharepoint-2013.aspx
Thanks,
Dennis Guo
TechNet Community Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected].
Dennis Guo
TechNet Community Support -
HI
Now there is an issue while iam running powershell script for BDC service.
Below is the script i am using to configure BDC service.
Param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[string]$ServiceName = $null,
[Parameter(Mandatory=$true)]
[string]$ServiceProxyName = $null,
[Parameter(Mandatory=$true)]
[string]$AppPoolAccount = $null,
[Parameter(Mandatory=$true)]
[string]$AppPoolName = $null,
[Parameter(Mandatory=$true)]
[string]$DatabaseServer = $null,
[Parameter(Mandatory=$true)]
[string]$DatabaseName = $null
# check to ensure Microsoft.SharePoint.PowerShell is loaded if not using the SharePoint Management Shell
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null) {
Write-Host "Loading SharePoint Powershell Snapin"
Add-PSSnapin "Microsoft.SharePoint.Powershell"
Write-Host "Successfully Sharepoint Powershell snapin Loaded"
Write-Host "Started executing Powershell script for configuring Business Data Connectivity Service in sharepoint farm ..."
Write-Host -ForegroundColor Yellow "Checking if Application Pool Accounts exists"
$AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolAccount -EA 0
if($AppPoolAccount -eq $null)
Write-Host "Please supply the password for the Service Account..."
$AppPoolCred = Get-Credential $AppPoolAccount
$AppPoolAccount = New-SPManagedAccount -Credential $AppPoolCred -EA 0
Write-Host -ForegroundColor Yellow "Checking wether the Application Pool exists"
$AppPool = Get-SPServiceApplicationPool -Identity $AppPoolName -ErrorAction SilentlyContinue
if (!$AppPool)
Write-Host -ForegroundColor Green "Creating Application Pool"
$AppPool = New-SPServiceApplicationPool -Name $AppPoolName -Account $AppPoolAccount -Verbose
Write-Host -ForegroundColor Yellow "Checking if BDC Service Application exists"
$ServiceApplication = Get-SPServiceApplication -Name $ServiceName -ErrorAction SilentlyContinue
if (!$ServiceApplication)
Write-Host -ForegroundColor Green "Creating BDC Service Application"
$ServiceApplication = New-SPBusinessDataCatalogServiceApplication –ApplicationPool $AppPool –DatabaseName $DatabaseName –DatabaseServer $DatabaseServer –Name $ServiceName
Write-Host -ForegroundColor Yellow "Starting the BDC Service"
#$ServiceInstance = Get-SPServiceInstance | Where-Object { $_.TypeName -like "BDC Service*" }
#Start-SPServiceInstance $ServiceInstance
Get-SPServiceInstance | where-object {$_.DisplayName -eq $ServiceName} | Start-SPServiceInstance > $null
Write-Host -ForegroundColor Green "Done - BDC Service is up and running."
Error i am getting ->
Started executing Powershell script for configuring Business Data Connectivity S
ervice in sharepoint farm ...
Checking if Application Pool Accounts exists
Checking wether the Application Pool exists
Creating Application Pool
VERBOSE: Leaving BeginProcessing Method of New-SPServiceApplicationPool.
New-SPServiceApplicationPool : The trust relationship between the primary
domain and the trusted domain failed.
At C:\SP2013Service\BDC1.ps1:67 char:12
+ $AppPool = New-SPServiceApplicationPool -Name $AppPoolName -Account
$AppPoolAcco ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo : InvalidData: (Microsoft.Share...ApplicationPool:
SPCmdletNewIisWebServiceApplicationPool) [New-SPServiceApplicationPool], S
ystemException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletNewIisWe
bServiceApplicationPool
VERBOSE: Leaving ProcessRecord Method of New-SPServiceApplicationPool.
VERBOSE: Leaving EndProcessing Method of New-SPServiceApplicationPool.
Checking if BDC Service Application exists
Creating BDC Service Application
New-SPBusinessDataCatalogServiceApplication : Cannot bind argument to
parameter 'ApplicationPool' because it is null.
At C:\SP2013Service\BDC1.ps1:75 char:84
+ ... pplicationPool $AppPool –DatabaseName $DatabaseName –DatabaseServer
$DatabaseSer ...
+ ~~~~~~~~
+ CategoryInfo : InvalidData: (:) [New-SPBusinessD...viceApplicat
ion], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,M
icrosoft.SharePoint.BusinessData.SharedService.SPNewBusinessDataCatalogSer
viceApplicationhi guys,
same script i have modified with parametes,in below script i have hard corded values for parameters,and it is executing without errors.
Below is script executing without error->
Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Settings
$ServiceName = "BDC Service"
$ServiceProxyName = "BDC Proxy"
$AppPoolAccount = "DOMAIN\USERNAME"
$AppPoolName = "BDC SP Ser App Pool"
$DatabaseServer = "SPSQL"
$DatabaseName = "SP2013 BDC"
Write-Host -ForegroundColor Yellow "Checking if Application Pool Accounts exists"
$AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolAccount -EA 0
if($AppPoolAccount -eq $null)
Write-Host "Please supply the password for the Service Account..."
$AppPoolCred = Get-Credential $AppPoolAccount
$AppPoolAccount = New-SPManagedAccount -Credential $AppPoolCred -EA 0
Write-Host -ForegroundColor Yellow "Checking wether the Application Pool exists"
$AppPool = Get-SPServiceApplicationPool -Identity $AppPoolName -ErrorAction SilentlyContinue
if (!$AppPool)
Write-Host -ForegroundColor Green "Creating Application Pool"
$AppPool = New-SPServiceApplicationPool -Name $AppPoolName -Account $AppPoolAccount -Verbose
Write-Host -ForegroundColor Yellow "Checking if BDC Service Application exists"
$ServiceApplication = Get-SPServiceApplication -Name $ServiceName -ErrorAction SilentlyContinue
if (!$ServiceApplication)
Write-Host -ForegroundColor Green "Creating BDC Service Application"
$ServiceApplication = New-SPBusinessDataCatalogServiceApplication –ApplicationPool $AppPool –DatabaseName $DatabaseName –DatabaseServer $DatabaseServer –Name $ServiceName
Write-Host -ForegroundColor Yellow "Starting the BDC Service"
#$ServiceInstance = Get-SPServiceInstance | Where-Object { $_.TypeName -like "BDC Service*" }
#Start-SPServiceInstance $ServiceInstance
Get-SPServiceInstance | where-object {$_.DisplayName -eq $ServiceName} | Start-SPServiceInstance > $null
Write-Host -ForegroundColor Green "Done - BDC Service is up and running."
if any body want need more information please can u respond me to
Email id:[email protected] -
/*! flamingo 6.4.0 2013-06-18 */
function AppListView(){this.allBooks=[],this.recentBooks=[],this.$dom=$("<div>",{"class" :"app-list"}),this._loadBooks(),this._createView(),setTimeout($.proxy(this._prel oadIcons,this),1e3)}function Beacon(e,a){location.protocol.match(/^http/)&&e.enable_tracking&&e.product&&e.p latform&&e.version&&(this.title=e.title.toLowerCase(),this.product=e.product.toL owerCase(),this.platform=e.platform.toLowerCase(),this.version=e.version.toLower Case(),this.locale=a.isoCodes[0],this.loaded=$.getScript(App.resourcePath+"sc.js ",$.proxy(this.init,this)),$(e).on("navigate",$.proxy(this.navigate,this)),$(e). on("search",$.proxy(this.search,this)),$(e).on("searchresults",$.proxy(this.sear chResultSelected,this)),$(e).on("feedback",$.proxy(this.feedback,this)),$(e).on( "mediastart",$.proxy(this.mediaStart,this)))}function Book(e){if($.extend(this,e),this.name=this.title,$.each(this.topics,$.proxy(fun ction(e,a){this.topics[e]=new Topic(e,a,this)},this)),$.each(this.sections,$.proxy(function(e,a){this.section s[e]=new Section(e,a,this)},this)),$.each(this.toc,$.proxy(function(e,a){this.toc[e]=thi s.topics[a]||this.sections[a]||a},this)),$.each(this.sections,$.proxy(function(e ,a){var t=a.children;$.each(t,$.proxy(function(e,i){t[e]=this.topics[i]||this.sections[ i]||i,t[e].parent=a},this))},this)),this.landing=this.topics[this.landing]||"",t his.copyright=this.topics[this.copyright]||"",!this.landing){for(var a=this.toc[0];a instanceof Section;)a=a.children[0];this.landing=a}this.unknown_topic=new Topic("unknown",{name:"TOPIC_UNAVAILABLE".loc(),href:""},this)}function ContentView(e,a){this.name=e,this.$dom=$("<div>",{id:e,"class":"contentView"}). addClass(e),this.topic=null,a&&this.showTopic(a)}function DebugPanel(e){this.$dom=$("<dl>",{"class":"debug-info"}),$("<dt>",{text:"flamin go"}).appendTo(this.$dom),$("<dd>",{text:e.version}).appendTo(this.$dom),$.each( ["build_id","title","design","enable_tracking","product","platform","version","l ocale","collect_feedback","framework","source_schema"],$.proxy(function(a,t){$(" <dt>",{text:t}).appendTo(this.$dom),$("<dd>",{text:e.book[t]||"[ undefined ]"}).toggleClass("undefined",!e.book[t]).appendTo(this.$dom)},this))}function Design(e){this.name=e||"default";var a=Design.namedSkins[this.name];this.cssClass="",this.isLayeredStyle=!1,this.hel pviewerWindowSize={height:520,width:815},this.dismissSearchLabel="Cancel",this.p reloadList=["lightbox-close.png","[email protected]","lightbox-close-hover.p ng","[email protected]","disclosure-open.png","[email protected]" ],a&&(a.preloadList&&(this.preloadList.concat(a.preloadList),delete a.preloadList),$.extend(this,a))}function HelpViewerBook(e){this.id=e.bookID(),this.title=e.title(),this.link="help:openb ook='"+this.id+"'",this.iconHref=("x-help-icon://"+encodeURIComponent(this.id)). replace(/\.help$/,""),this.apple=this.id.match(/^com\.apple\./)?!0:!1}function LandingView(e,a){this.book=e,this.bundle=a,this.contentView=new ContentView("landing",e.landing),this.$dom=this.contentView.$dom,this.isHelpCen ter="HelpViewer"in window&&!HelpViewer.currentScope(),this.isHelpCenter?this._addMarquee():this._l ayoutLanding()}function LightboxView(e){this._$previous_focus=$(),this.visible=!1,this.$dom=$("<div>",{ id:e,"class":e,"aria-hidden":"true",role:"alertdialog",tabindex:"-1"}).hide(),$( "<div>",{"class":"background"}).appendTo(this.$dom);var a=$("<div>",{id:"lightboxOuterWrapper"}).appendTo(this.$dom),t=$("<div>",{id:"l ightboxInnerWrapper"}).appendTo(a),i=$("<div>",{id:"lightboxContentWrapper"}).ap pendTo(t);this.contentView=new ContentView("lightbox-content"),i.append(this.contentView.$dom);var n=$("<img>",{src:App.resourcePath+"images/[email protected]",alt:"Close".lo c(),role:"button"});$("<a>",{"class":"closeButton"}).append(n).appendTo(a).click ($.proxy(function(){App.navigation.popPrevious(),this.hide()},this)).hover(funct ion(){n.attr("src",App.resourcePath+"images/[email protected]")},funct ion(){n.attr("src",App.resourcePath+"images/[email protected]")})}function NavController(e){this._book=e,this._linearTOC=[],this._currentItem=null,this._p ushedItem=null,this._addItems(e.toc),App.design.isLayeredStyle||this._linearTOC. unshift(e.landing),this._checkHash();var a=$.proxy(this._checkHash,this);"onhashchange"in window?$(window).bind("hashchange",a):setTimeout(function(){setInterval(a,100)} ,500)}function Section(e,a,t){this.id=e,this.book=t,$.extend(this,a)}function TOC(e,a,t){this.book=e,this._contentPath=t,this._$liByID={},this.$dom=this._$ul ForNavList(this.book.toc,0).addClass("toc");var i=$("<li>",{role:"treeitem","class":"home"}).prependTo(this.$dom),n=$("<a>",{hr ef:"#"+this.book.landing.id}).appendTo(i);$("<img>",{src:a+"images/tangerine/hom [email protected]"}).appendTo(n),$("<span>",{"class":"name",text:"Home".loc()}).appendTo( n),this._$liByID[e.landing.id]=i,this.$dom.on("click","a",$.proxy(this._toggleSe ctions,this))}function Topic(e,a,t){this.id=e,this.book=t,this.categories=[],$.extend(this,a),this.ful l_name=this.name,this._content_loaded=!1,this.$content=$("<div>",{id:e}),this.is _landing=$.inArray("landing",this.categories)>-1,this.is_glossary=$.inArray("glo ssary",this.categories)>-1,this.is_external=!!this.href.match(/^\w+:/),this.is_h ash=!!this.href.match(/^#/)}function TermMatch(e,a,t){this.term=e,this.topic=App.book.topicForID(a),this.weight=t}fu nction WeightedTopic(e){this.topic=e.topic,this.weight=e.weight}function SearchResult(e,a,t){this.query=e,this.matchingTerms=a,this.topics=[];var i={};$.each(t,function(e,a){var t=a.topic.id,n=i[t];n?n.addMatch(a):i[t]=new WeightedTopic(a)});var n=$.map(i,function(e){return e}),o=n.sort(function(e,a){return a.weight-e.weight});this.topics=$.map(o,function(e){return e.topic})}function SearchIndex(e){this._keywordStemRegex="",this._matchesByTerm={};var a,t,i,n,o=[];i=function(e,t){return new TermMatch(a,t,e)},n=function(e,a,t){return"\\b"+a+(t?t.replace(/(.)/g,"$1?"):"" )+"\\b"};for(var s in e)a=s,t=e[a],this._matchesByTerm[a]=$.map(t,i),a=a.replace(/(\.|\*|\+|\?|\{|\}| \||\[|\]|\(|\)|\-|\^|\$)/g,"\\$1"),a=a.replace(/^(..)(.+)$/,n),o.push(a);o.sort( function(e,a){return a.length-e.length}),this._keywordStemRegex=RegExp(o.join("|"),"gi")}window.App= {version:"6.4.0",env:"production"},location.search.match(/%23/)&&location.replac e(location.href.replace("%23","#")),$.ajaxSetup({crossDomain:!1}),window.APD={}, $.extend(window.App,{book:null,bundle:null,design:null,navigation:null,searchInd ex:null,resourcePath:"",queryParams:{},views:{}}),String.prototype.loc=function( ){return App.bundle?App.bundle.translate(this):this},function(){if("console"in window||(window.console={},$.each(["assert","count","debug","dir","dirxml","err or","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","p rofileEnd","time","timeEnd","trace","warn"],function(){window.console[this]=$.no op})),location.search&&$.each(location.search.substring(1).split("&"),function() {var e=this.split("=");App.queryParams[decodeURIComponent(e[0])]=decodeURIComponent( e[1])}),App.queryParams.topic){var e=App.queryParams.topic,a=location.pathname;return delete App.queryParams.topic,a+=$.param(App.queryParams)?"?"+$.param(App.queryParams): "",a+="#"+e,location.replace(a),void 0}App.queryParams.localePath&&App.queryParams.localePath.match(/^http/)&&delete App.queryParams.localePath,navigator.userAgent.match(/Help Viewer/)&&($.browser.helpviewer=!0),$(document).ready(function(){function e(){clearTimeout(i),t.hide().remove()}function a(){e(),console.error("Could not load navigation.json file."),$("html").addClass("nocontent")}$("#javascriptDisabled").remove(),App.r esourcePath=$("script[src$='flamingo.js']").attr("src").replace(/flamingo\.js$/, ""),(new Image).src=App.resourcePath+"images/[email protected]";var t=$("<div>",{id:"updating"}).hide().appendTo("body").append($("<img>",{src:App. resourcePath+"images/[email protected]"})),i=setTimeout(function(){t.show()},500);A pp._loadBundle().pipe(function(){return $.getJSON(App.bundle.URL()+"navigation.json",function(e,a,t){App._addServerType (t),App.book=new Book(e),App.beacon=new Beacon(App.book,App.bundle.current)})}).fail(a).then(e).then(App.init).then(App .showInterface).then(function(){return $.getJSON(App.bundle.URL()+"search.json",function(e){App.searchIndex=new SearchIndex(e)})}).fail(function(){console.error("Could not load search.json file.")})}),App._loadBundle=function(){var e=$.Deferred(),a=App.queryParams.localePath||App.queryParams.lang||window.local ePath;return App.bundle=new APD.Bundle("",a,function(){$("body").attr("dir",this.current["text-direction"]) ,$("<div>",{"class":"localizedUpdateText",text:"Loading latest help...".loc()}).appendTo("#updating"),$("html").attr("lang",this.current.isoCo des[0]),e.resolve()}),e},App._addServerType=function(e){var a=e.getResponseHeader("x-server-type");"development"!==this.env&&a&&a.match(/re view|staging/)&&(this.env=a),$("html").addClass(this.env)},App.setTitle=function (e){var a=App.book.title,t=e&&(e.full_name||e.name);t!==a&&(a+=": "+$("<textarea>",{html:t}).text()),document.title=a},App.init=function(){var e=$("html");if($.each($.browser,function(a){"version"!==a&&e.addClass(a)}),e.ha sClass("nocontent")||$("#contentUnavailable").remove(),window.devicePixelRatio>1 &&void 0!==document.body.style.backgroundSize&&e.addClass("bgsize"),App.design=new Design(App.book.design),$.browser.helpviewer&&Design.helpviewerWindowSize){var a=Design.helpviewerWindowSize,t=Math.max(a.width,top.outerWidth),i=Math.max(a.h eight,top.outerHeight);top.resizeTo(t,i)}if(navigator.userAgent.match(/(iphone|i pad)/i)){"-webkit-overflow-scrolling"in document.body.style||e.addClass("nooverflow");var n=720;App.design.helpviewerWindowSize&&(n=App.design.helpviewerWindowSize.width ),$("<meta>",{name:"viewport",content:"maximum-scale=3.0,width="+n}).prependTo(" head")}},App.showInterface=function(){App.createViews(),App.design.preloadImages (),App.navigation=new NavController(App.book)},App.createViews=function(){var e=$("body"),a=$("<div>",{id:"container","class":"container"}),t=$("<div>",{id:" menu","class":"menu"}).appendTo(a),i=$("<div>",{id:"front-matter","class":"front -matter"}).appendTo(a),n=$("<div>",{id:"navigation","class":"navigation",role:"n avigation"}).appendTo(i);App.views.landing=new LandingView(App.book,App.bundle),App.views.toc=new TOC(App.book,App.resourcePath,App.bundle.URL()),App.views.topic=new ContentView("topic"),App.views.debug=new DebugPanel(App),App.views.lightbox=new LightboxView("lightbox"),$.browser.helpviewer&&!HelpViewer.currentScope()&&(App .views.appList=new AppListView),a.add(App.views.lightbox.$dom).addClass(App.design.name).addClass( App.design.cssClass),e.prepend(a),e.append(App.views.debug.$dom),i.prepend(App.v iews.landing.$dom),a.append(App.views.topic.$dom.hide()),searchController.addInt erfaceElements(n),n.append(App.views.toc.$dom),e.append(App.views.lightbox.$dom) ,App.views.appList&&e.append(App.views.appList.$dom),$("<h1>",{"class":"book-tit le"}).append($("<a>",{href:"#",text:App.book.title})).appendTo(t),$(App.book).on ("navigate",$.proxy(App.views.toc.updateSelection,App.views.toc)),$(App.book).on ("navigate",$.proxy(App.toggleViews,App)),$("body").on("orientationchange",App.r esetOverflow)},App.resetOverflow=function(){var e,a=App.views,t=$(".toc").add(a.landing.$dom).add(a.topic.$dom);t.css("overflow ","visible"),e=t.css("overflow"),t.css("overflow","")},App.toggleViews=function( e,a,t){var i=$(".front-matter"),n=i.find("#landing");App.setTitle(a),t===App.views.appList ?(App.views.topic.hide(),i.hide(),App.views.appList.show()):(App.views.appList&& App.views.appList.hide(),i.show()),t===App.views.landing&&App.views.topic.hide() ,App.design.isLayeredStyle?t===App.views.landing||t===App.views.toc?(i.attr({"ar ia-hidden":!1,tabindex:-1}).show().focus(),App.views.topic.hide()):t===App.views .topic&&i.attr({"aria-hidden":!0,tabindex:-1}).hide():t===App.views.landing||t== =App.views.toc?n.show():t===App.views.topic&&n.hide(),$("#container").attr("aria -hidden",t===App.views.lightbox),t!==App.views.lightbox&&App.views.lightbox.hide ();var o="HelpViewer"in window&&"currentScope"in HelpViewer,s="HelpViewer"in window&&"setBreadcrumbBookTitleWithAnchor"in HelpViewer;o&&s&&"com.apple.machelp"===HelpViewer.currentScope()&&HelpViewer.se tBreadcrumbBookTitleWithAnchor("",null),$("body").prop("scrollTop",0),$("html"). is(".nooverflow")&&window.scrollTo(0,1)},$(document).on("keydown",function(e){!( e.ctrlKey||e.metaKey||e.shiftKey||App.views.lightbox.visible)&&"querySelectorAll "in document&&(37===e.which?App.navigation.previous():39===e.which&&App.navigation. next())}),$(document).on("keypress",function(e){e.ctrlKey&&e.metaKey&&2===e.keyC ode&&App.views.debug.$dom.toggle()}),$("#localizations select").live("change",function(){delete App.queryParams.localePath,App.queryParams.lang=$(this).val(),location.href="?" +$.param(App.queryParams)})}(),AppListView.prototype.show=function(){this.$dom.s how()},AppListView.prototype.hide=function(){this.$dom.hide()},AppListView.proto type._loadBooks=function(){var e=this;"HelpViewer"in window&&HelpViewer.availableBooks&&HelpViewer.recentApplicationList&&($.each(He lpViewer.availableBooks(),function(a,t){e.allBooks.push(new HelpViewerBook(t))}),$.each(HelpViewer.recentApplicationList(),function(a,t){va r i=RegExp(t,"i");$.each(e.allBooks,function(a,t){t.id.match(i)&&e.recentBooks.pu sh(t)})}))},AppListView.prototype._createView=function(){var e=5,a="Show all".loc(),t="Show less".loc(),i=function(){var e=$(this).parents(".app-group"),i=e.hasClass("closed")?t:a;e.toggleClass("close d").find(".showHide").text(i)};if(this.allBooks.length){var n,o,s;n=$("<div>",{"class":"app-group closed"}).appendTo(this.$dom),$("<div>",{"class":"title"}).appendTo(n),$("<a>", {"class":"showHide",text:a,click:i}).appendTo(n),$("<div>",{"class":"clear"}).ap pendTo(n),$("<div>",{"class":"initial-set"}).appendTo(n),$("<div>",{"class":"add itional-set"}).appendTo(n),o=n.clone(!0,!0).appendTo(this.$dom),s=n.clone(!0,!0) .appendTo(this.$dom),$(".title",n).text("Recent applications".loc()),$(".title",o).text("Apple applications".loc()),$(".title",s).text("Other applications".loc()),$.each(this.recentBooks,function(a,t){e>a&&t.$iconLink().a ppendTo(n)}),$.each(this.allBooks,function(a,t){if("com.apple.HelpCenter.help"!= =t.id&&"com.apple.machelp"!==t.id){var i=t.apple?o:s,n=2*e>i.children(".initial-set").children().length?i.children(".i nitial-set"):i.children(".additional-set");t.$iconLink().appendTo(n)}}),$([n,o,s ]).each(function(){if(0===$(".additional-set",this).children().length&&$(".showH ide",this).remove(),0===$(".book",this).length)return $(this).remove(),void 0;for(var a=$(".book:last",this),t=a.parent();0!==t.find(".book").length%e;)$("<a>",{"cla ss":"book"}).appendTo(t)})}},AppListView.prototype._preloadIcons=function(){var e=this;setTimeout(function(){$.each(e.allBooks,function(e,a){setTimeout(functio n(){a.preloadIcon()},20*e)})},1e3)},function(e){var a={events:"",channel:"",pageName:"",eVar1:null,eVar16:null,eVar17:null,eVar18:n ull,eVar20:null,eVar21:null,eVar28:null};e.init=function(){this.setAccount(),thi s.setConstants()},e.setAccount=function(){var e="aaplpdglobaldev";"production"===App.env&&(e="aaplpdglobal"),this.sc=s_gi(e), this.sc.server=this.title,this.sc.trackDownloadLinks=!1,this.sc.trackExternalLin ks=!1,this.sc.trackInlineStats=!1,this.sc.useForcedLinkTracking=!1,this.sc.linkD ownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx ",this.sc.linkInternalFilters="help.apple.com",this.sc.linkLeaveQueryString=!1,t his.sc.linkTrackVars="eVar1,prop1,eVar2,prop2,eVar3,prop3,eVar4,prop4,eVar5,prop 5,eVar6,prop6,eVar7,prop7,eVar8,prop8,eVar9,prop9,eVar10,prop10,eVar11,prop11,eV ar12,prop12,eVar13,prop13,eVar14,prop14,eVar16,prop16,eVar17,prop17,eVar28,prop2 8,events",this.sc.linkTrackEvents="event1,event2,event3,event4",this.sc.usePlugi ns=!1,this.sc.doPlugins=$.noop,this.sc.visitorNamespace="appleproductdocumentati on",this.sc.trackingServer="metrics.apple.com",this.sc.trackingServerSecure="sec uremetrics.apple.com"},e.setConstants=function(){var e="unknown",a="unknown",t="unknown",i="help:"+this.product,n=i+":"+this.platfor m,o=n+":"+this.version;$.each(["helpviewer","safari","webkit","opera","mozilla", "msie"],function(){return this in $.browser?(e=this,!1):void 0}),$.each([/Mac OS X ([_\.\d]+)/,/iPhone OS ([_\.\d]+)/,/CPU OS ([_\.\d]+)/,/Windows NT ([_\.\d]+)/],function(){var e=navigator.userAgent.match(this);return e?(a=e[0].replace(this,"$1").replace(/_/g,"."),!1):void 0}),$.each([/Version\/([_\.\d]+)/,/Chrome\/([_\.\d]+)/,/MSIE ([_\.\d]+)/,/Firefox\/([_\.\d]+)/],function(){var e=navigator.userAgent.match(this);return e?(t=e[0].replace(this,"$1").replace(/_/g,"."),!1):void 0}),$.extend(this.sc,{eVar2:navigator.userAgent,eVar3:e+":"+t,eVar4:a,eVar5:e+" :"+a,eVar6:App.version,eVar7:i,eVar8:n,eVar9:o,eVar10:this.product,eVar11:this.p latform,eVar12:this.version,eVar13:(navigator.browserLanguage||navigator.systemL anguage||navigator.userLanguage||navigator.language).substr(0,2),eVar14:this.loc ale,eVar15:navigator.language})},e._track=function(e,t){this.loaded.then($.proxy (function(){$.extend(this.sc,a,t),this._resetProps(),this.sc.t(!0,"o",e)},this)) },e._resetProps=function(){var e,a,t={};for(e in this.sc)e.match(/prop\d+/)&&(this.sc[e]=null),e.match(/eVar\d+/)&&this.sc[e]&&( a=e.replace(/eVar(\d+)/,"$1"),t["prop"+a]="D=v"+a);$.extend(this.sc,t)},e.naviga te=function(e,a){var t=this.title+":"+a.name.toLowerCase();this._track("view",{events:"event1",chann el:t,pageName:t,eVar1:(a.is_glossary?"glossary:":"")+a.name,eVar28:a.id})},e.sea rch=function(e,a,t){if(a){var i=this.title+":search",n=t.length?"search":"search: no results";this._track(n,{events:t.length?"event2":"event3",channel:i,pageName:i, eVar1:n,eVar16:a})}},e.searchResultSelected=function(e,a,t){var i=this.title+":search",n="search: result click-through";this._track("name",{events:"event4",channel:i,pageName:i,eVar1:n ,eVar16:a,eVar17:t.name,eVar18:t.id})},e.feedback=function(e,a){var t=this.title+":"+a.name.toLowerCase();this._track("feedback",{events:"event5",c hannel:t,pageName:t,eVar1:a.name,eVar21:"false",eVar28:a.id})},e.mediaStart=func tion(e,a){var t=this.title+":media",i=App.navigation._currentItem;this._track("media: start",{events:"event7",channel:t,pageName:t,eVar1:i.name,eVar18:a,eVar20:"vide o",eVar28:i.id})}}(Beacon.prototype),Book.prototype.topicForID=function(e){retur n e?this.topics[e]:this.landing},Book.prototype.topicForURL=function(e){var a;return $.each(this.topics,function(){return this.href===e?(a=this,!1):void 0}),a},Book.prototype.sectionForID=function(e){return this.sections[e]},Book.prototype.itemForID=function(e){var a=this.topicForID(e)||this.sectionForID(e);return(!a||a instanceof String)&&(a=this.unknown_topic),a},function(){function e(e){return e?e.match(/[^\/]$/)?e+="/":e:""}function a(){var e=[navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage| |navigator.language];if("HelpViewer"in window&&"preferredLanguages"in HelpViewer)try{e=HelpViewer.preferredLanguages().concat(e)}catch(a){}if("iTunes "in window)try{e=$.map(iTunes.acceptedLanguages.split(","),function(e){return e.replace(/\+?([^;]+);.*/,"$1")}).concat(e)}catch(a){}return e=$.map(e,function(e){return e?(e=e.toLowerCase(),2>=e.length?e:[e,e.substr(0,2)]):null})}function t(e){return i||(i={},$.each(APD.translations,function(e,a){$.each(a.meta.isoCodes,function( e,t){i[t]=a})})),i[e]}var i,n={name:"English",isoName:"English",isoCodes:["en"],folder:"en.lproj","text-d irection":"ltr"};APD.Bundle=function(a,t,i){this.path=e(a),this.current=$.extend ({},n),t&&t.match(/^.*\.lproj$/)&&(this.current.folder=t),this.locales=[],this._ uiStrings={};var o=this;this._loadList().done(function(){var e=o._lookupLocale(t)||o._browserLocale();e&&(o.current=e)}).always(function(){o ._loadStrings()}).always(function(){i&&i.call&&i.call(o,o)})};var o=APD.Bundle.prototype;o._loadList=function(){var e=this,a=$.Deferred();return $.getJSON(this.path+"locale-list.json").done(function(t){e.locales=t,a.resolve( )}).fail(function(){return console.warn("Unable to load language list, loading content from "+e.current.folder),$.getJSON(e.URL()+"locale-info.json").done(function(t){t.me ta.folder=e.current.folder,e.locales.push(t.meta),a.resolve()}).fail(function(){ a.reject()})}),a},o._loadStrings=function(){var e=this,a=e.current.isoCodes;a.push("en"),$.each(a,function(a,i){var n=t(i);return n?(e._uiStrings=n.ui||{},e.cssClass=n.meta.cssClass||"",!1):void 0})},o._lookupLocale=function(e){if(!e)return null;var a=null;return $.each(this.locales,function(t,i){var n=i.isoCodes.concat([i.folder,i.name,i.isoName]);return $.inArray(e,n)>-1?(a=i,!1):void 0}),a},o._browserLocale=function(){var e=null,t=this.locales;return $.each(a(),function(a,i){return $.each(t,function(a,t){return $.inArray(i,t.isoCodes)>-1?(e=t,!1):void 0}),e?!1:void 0}),e},o.list=function(){if(2>this.locales.length)return[];if("iTunes"in window)return[];if("HelpViewer"in window)return[];var e=$.map(this.locales,function(e){return{name:e.name,isoCode:e.isoCodes[0]}});re turn e.sort(function(e,a){return e.name.localeCompare(a.name)}),e},o.translate=function(e){return this._uiStrings[e]||e},o.URL=function(){return this.path+e(this.current.folder)}}(),ContentView.prototype.showTopic=function(e ){e!==this.topic&&(this.topic=e,this.$dom.empty().prop("scrollTop",0).append(e.l oadContent()),"HelpViewer"in window&&"mtContentAccessed"in HelpViewer&&HelpViewer.mtContentAccessed(e.id+" "+e.name,e.book.title)),this.$dom.attr("aria-hidden",!1).show().trigger("conten tLoaded")},ContentView.prototype.hide=function(){this.$dom.attr("aria-hidden",!0 ).hide()},function(){$(".contentView a[href*='.html']").live("click",function(e){var a=$(this).attr("href"),t=a.match(/#/)?a.replace(/^.*\.html(#?.*)/,"$1"):"",i=a. replace(/^(.*\.html)#?.*/,"$1"),n=App.book.topicForURL(i)||App.book.topicForID(t );a.match(/^http/)||a.match(/\//)||(e.preventDefault(),n&&n.navigateTo())}),$(". contentView .Task h2, .contentView .task h2, .showTaskBody, .hideTaskBody").live("click",function(){var e=$(this).parent(".Task, .task").filter(":first"),a=e.toggleClass("closed").hasClass("closed");e.find("[ aria-expanded]").attr("aria-expanded",!a),e.find("[aria-hidden]").attr("aria-hid den",a)}),$(".contentView .LinkAppleWebMovie a, .contentView .movie a").live("click",function(e){if(!("HelpViewer"in window&&HelpViewer.availableBooks)){e.preventDefault();var a=$(this).attr("href");movieLightboxController.showLightboxWithURL(a)}})}(),Des ign.prototype.preloadImages=function(){$.each(this.preloadList,function(e,a){(ne w Image).src=App.resourcePath+"images/"+a})},Design.namedSkins={magenta:{helpview erWindowSize:null,cssClass:"layered",isLayeredStyle:!0},red:{helpviewerWindowSiz e:null,cssClass:"layered",isLayeredStyle:!0},tangerine:{dismissSearchLabel:"Clos e",preloadList:["tangerine/[email protected]","tangerine/disclosure-open.pn g","tangerine/[email protected]","tangerine/home.png","tangerine/[email protected] g","tangerine/menu-background.png"]}},HelpViewerBook.prototype.preloadIcon=funct ion(){(new Image).src=this.iconHref},HelpViewerBook.prototype.$iconLink=function(){return $("<a>",{href:this.link,"class":"book"}).append($("<img>",{src:this.iconHref})) .append($("<div>",{text:this.title}))},function(){var e=LandingView.prototype;e.showTopic=function(e){this.contentView.showTopic(e)}, e._layoutLanding=function(){if(!App.design.isLayeredStyle){var e=this.$dom.wrapInner("<div class='row' />").wrapInner("<div class='center' />").find(".center"),a=$("<div class='row' />").appendTo(e);$.browser.helpviewer||a.append(this._$languageMenu()),$("<div> ",{"class":"copyrightTagline",text:this.book.copyright_text}).appendTo(a)}},e._a ddMarquee=function(e){var a=$(".marquee",e),t=$("img",a).remove().attr("src"),i=$(".title",a).remove().te xt(),n="url("+t+") 0 0 no-repeat, -webkit-gradient(linear, 0 0, 0 100%, from(#ebebeb), to(#fff))";a.length&&e.addClass("hasMarquee"),$("<p>",{text:i}).appendTo(a),$(" <p>",{"class":"spacer"}).prependTo(a).clone().appendTo(a),a.css("background",n)} ,e._$languageMenu=function(){var e=this.bundle.list();if(0!==e.length){var a=$("<div>",{id:"localizations"}),t=$("<select>").appendTo(a);return $("<option>",{text:"Change Language".loc()}).appendTo(t),$.each(e,function(e,a){$("<option>",{val:a.isoCod e,text:a.name}).appendTo(t)}),a}}}(),LightboxView.prototype.showTopic=function(e ){this._$previous_focus=$(":focus"),this.visible=!0,this.contentView.showTopic(e ),this.$dom.show().attr("aria-hidden","false").attr("tabindex","0"),(!$.browser. msie||$.browser.version>=8)&&this.$dom.focus()},LightboxView.prototype.hide=func tion(){(!$.browser.msie||$.browser.version>=8)&&(this.$dom.blur(),this._$previou s_focus.focus()),this.$dom.hide().attr("aria-hidden","true").attr("tabindex","-1 "),this._$previous_focus$previous_focus=$(),this.visible=!1},function(){var e=NavController.prototype,a="showHelpViewerApplicationList";e._addItems=functio n(e){var a=this;$.each(e,function(e,t){t instanceof Section&&(App.design.isLayeredStyle&&!t.parent&&a._linearTOC.push(t),a._addItem s(t.children)),t instanceof Topic&&a._linearTOC.push(t)})},e.hash=function(){return location.hash.replace(/[^\-_a-z0-9]/gi,"")},e._checkHash=function(){this._goToI D(this.hash())},e._goToID=function(e){if(!this._currentItem||this._currentItem.i d!==e){searchController.navigateToItemWithID(e);var t,i=App.book.itemForID(e);i||(i=this._book.landing),e===a?t=App.views.appList:i instanceof Section?t=App.views.toc:i instanceof Topic&&(1>=App.book.toc.length&&App.book.toc[0]instanceof Topic&&i.is_landing?t=App.views.topic:i.is_landing?t=App.views.landing:i.is_glo ssary?(this._pushedItem=this._currentItem,t=App.views.lightbox):t=App.views.topi c,t.showTopic(i)),this._currentItem=i,$(this._book).trigger("navigate",[i,t])}}, e._goToItem=function(e){location.hash=e.id},e._goToPageOffset=function(e){for(va r a=0,t=0;this._linearTOC.length>t;t++)if(this._currentItem===this._linearTOC[t]) {a=t;break}a+=e,0>a?a=this._linearTOC.length+a:a>=this._linearTOC.length&&(a-=th is._linearTOC.length),this._goToItem(this._linearTOC[a])},e.previous=function(){ this._goToPageOffset(-1)},e.next=function(){this._goToPageOffset(1)},e.popPrevio us=function(){this._pushedItem?(this._goToItem(this._pushedItem),this._pushedIte m=null):this._goToItem(this._book.landing)}}(),Section.prototype.navPath=functio n(){return(this.parent?this.parent.navPath():[]).concat(this)},Section.prototype .linkHref=function(){return"#"+this.id},function(){var e=TOC.prototype;e._$ulForNavList=function(e,a){var t=$("<ul>",{role:a?"group":"tree"}).append($.map(e,$.proxy(function(e){return this._$liForNavItem(e,a)},this)));return t},e._$liForNavItem=function(e,a){if("string"==typeof e)return console.log("Unresolved TOC item:",e),void 0;var t=$("<li>",{role:"treeitem"}),i=$("<a>",{href:e.linkHref()}).appendTo(t);return this._$liByID[e.id]=t,t.add(i).data("item",e),e.categories&&t.addClass(e.catego ries.join(" ")),e.icon&&$("<img>",{src:this._contentPath+e.icon,alt:""}).prependTo(i),$("<s pan>",{"class":"name",html:e.name}).appendTo(i),e instanceof Section&&(t.addClass("closed hasChildren").attr("aria-expanded","false"),this._$ulForNavList(e.children,a+1) .appendTo(t)),t},e.updateSelection=function(e,a){this.$dom.find("li").removeClas s("selected").attr("aria-selected",!1);var t=this._$liByID[a.id],i=this.$dom.children("li"),n=!1;if(App.design.isLayeredSt yle&&(n=!0,t&&a.id!==this.book.landing.id||!this.book.toc.length||(a=this.book.t oc[0],t=this._$liByID[a.id]),a instanceof Section&&(i.addClass("closed").attr("aria-expanded",!1),i.is(t)))){var o=t.children("ul:first").height();o&&(this.$dom.css("overflow","hidden"),this.$ dom.css("min-height",o),this.$dom.css("overflow",null))}t&&t.addClass("selected" ).attr("aria-selected",!0).parents("li").add(n?t:null).removeClass("closed").att r("aria-expanded",!0)},e._toggleSections=function(e){var a=$(e.currentTarget).parents("li:first"),t=a.data("item"),i=a.hasClass("closed" );t instanceof Section&&(App.design.isLayeredStyle?a.removeClass("closed").attr("aria-expanded ",!0):(a.toggleClass("closed",!i).attr("aria-expanded",i),e.preventDefault())),t instanceof Topic&&"HelpViewer"in window&&"mtStatisticsIncrement"in HelpViewer&&HelpViewer.mtStatisticsIncrement(0,0,1,0)}}(),function(){var e=Topic.prototype,a=!1;flamingoQTDetect=!1,function(){return navigator.userAgent.match(/applewebkit/i)?(a=!0,void 0):"execScript"in window?(execScript('on error resume next: flamingoQTDetect = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))',"VBScript"),a= flamingoQTDetect,void 0):($.each($.makeArray(navigator.plugins),function(){return this.name.match(/quicktime/i)?(a=!0,!1):void 0}),void 0)}(),e.navPath=function(){return(this.parent?this.parent.navPath():[]).concat( this)},e.breadcrumbHTML=function(){var e=this.navPath(),a="rtl"===$("body").attr("dir")?"◀":"►",t=" <span class='breadcrumbArrow'>"+a+"</span> ";return e.pop(),$.map(e,function(e){return e.name}).join(t)},e.linkHref=function(){return this.is_external||this.is_hash?this.href:"#"+this.id},e.navigateTo=function(){l ocation.href=this.linkHref()},e.loadContent=function(){if(!this._content_loaded) {var e=App.bundle.URL(),a=this,t="";a.href&&$.ajax({async:!1,url:e+a.href,dataType:" html"}).done(function(a){t=a.replace(/.*<body/,"<div").replace(/\/body>.*/,"/div >"),t=t.replace(/src="/g,'src="'+e)}),t?(this.$content=$(t).addClass("apd-topic" ),this.$content.find("a[href^='http']").attr("target","_blank"),this.full_name=t his.$content.find("h1:first").text(),this.$content.attr("data-apdid",this.id).re moveAttr("id").find("a[name="+this.id+"]").remove(),this._removeSectionLinks(),t his._collapseTasks(),this._formatMovieLinks(),this._addFeedbackLink(),this._addC opyrightText(),this._content_loaded=!0):(this.$content=this._contentUnavailable( ),this._content_loaded=!1)}return this.$content},e._removeSectionLinks=function(){var e=this;this.$content.find("a:not([href^=http])").each(function(){var a,t=$(this),i=t.attr("href")||"";i.match(/^(\w+).html$/)&&(a=e.book.topicForURL (i),a||t.contents().unwrap())})},e._collapseTasks=function(){var e=this.$content.find(".Task, .task"),a=1===e.length;e.each(function(){$(this).addClass(a?"":"closed").find(" [aria-expanded]").attr("aria-expanded",a).end().find("[aria-hidden]").attr("aria -hidden",!a).end()}),$("<span>",{"class":"hideTaskBody",role:"button",text:"Hide ".loc(),"aria-label":"Hide".loc()}).prependTo(e),$("<span>",{"class":"showTaskBo dy",role:"button",text:"Show".loc(),"aria-label":"Show".loc()}).prependTo(e)},e. _addFeedbackLink=function(){if(this.book.collect_feedback){var e=$("<div>",{"class":"Feedback"}).appendTo(this.$content),a=$.param({bookID:thi s.book.title,topicTitle:this.name,appVersion:this.book.version||"",build:this.bo ok.build_id||"",source:$.browser.helpviewer?"helpviewer":"browser"});$("<span>", {"class":"LinkFeedback",text:"Was this page helpful?".loc()}).appendTo(e),$("<a>",{text:"Send feedback.".loc(),href:"http://help.apple.com/feedbackR1/English/pgs/fdbck_form.php?"+a,target:"_blank"}).click($.proxy(function(){$(this.book).trigger("feedback", this)},this)).appendTo(e)}},e._formatMovieLinks=function(){var e=this;this.$content.find(".LinkAppleWebMovie, .movie").each(function(){var t=$(this),i=t.find("a:first"),n=i.attr("href"),o=i.text(),s=e._getMovieURLFromU RLParam(n);a&&s?(i.parent().is("p")||i.wrap("<p class='p'>"),$("<a>",{title:o}).prependTo(t),t.find("a").attr({href:s,target:"h v_overlay_small"})):t.remove()})},e._getMovieURLFromURLParam=function(e){var a=null;if(e.match(/.*\?movie=/)){e=e.replace(/.*\?movie=/,"");var t=App.bundle.URL()+"movies/"+e+".json";a=this._getMovieURLFromJSONFileAtURL(t)} return a},e._getMovieURLFromJSONFileAtURL=function(e){var a=null;return $.browser.msie&&navigator.userAgent.match(/x64/i)?a:(navigator.onLine&&$.ajax({ async:!1,dataType:"json",url:e,success:function(e){a=e.length?e[0].url:e.url},er ror:function(){console.log(e+" could not be loaded")}}),a)},e._addCopyrightText=function(){if(this.book.copyright_text){var e=$("<div>",{"class":"copyrightTagline",html:this.book.copyright_text}),a=this. $content.find(".contentCell:last");
a.length?a.append(e):this.$content.append(e)}},e._contentUnavailable=function(){ var e=$("<div>",{id:this.id,"class":"apd-topic"});if($("<img>",{"class":"topicIcon" ,src:App.resourcePath+"images/[email protected]"}).appendTo(e),$("<h1>",{text:"TOPIC _UNAVAILABLE".loc()}).appendTo(e),$.browser.helpviewer&&location.protocol.match( /file/)){var a=$("<div>",{"class":"body conbody"}).appendTo(e);a.append($.map("CONNECT_TO_INTERNET".loc().split("\n"),f unction(e){return $("<p>",{"class":"p",text:e})})),"mtStatisticsIncrement"in HelpViewer&&HelpViewer.mtStatisticsIncrement(1,0,0,0)}return e}}(),APD.translations=[{meta:{isoCodes:["ar"],isoName:"Arabic",name:"Ø§Ù„Ø¹Ø±Ø ¨ÙŠØ©"},ui:{TOPIC_UNAVAILABLE:"الموضوع المØدد غير متوفر Øاليًا.",CONNECT_TO_INTERNET:'تأكد من الاتصال بالإنترنت. للØصول على مساعدة، اختر قائمة Apple > تفضيلات النظام، وانقر على الشبكة، ثم انقر على "ساعدني".\nإذا كنت متصلاً بالإنترنت، ولا يظهر المØتوى بعد، فØاول مرة أخرى لاØقًا.',"%@ Search Results":"%@ نتيجة (نتائج) بØØ«","Apple applications":"تطبيقات Apple",Cancel:"إلغاء","Change Language":"تغيير اللغة",Close:"إغلاق","Featured application help":"تعليمات تطبيقات مميّزة","Go to the homepage":"الانتقال إلى الصفØØ© الرئيسية","Help for:":"تعليمات لـ:",Hide:"إخفاء",Home:"الشاشة الرئيسية","Loading latest help...":"يتم الآن تØميل Ø£Øدث التعليمات…","Other applications":"تطبيقات أخرى","Recent applications":"Ø£Øدث التطبيقات",Search:"بØØ«","Send feedback.":"أرسل تغذية مرتدّة.","Show all":"إظهار الكل","Show less":"إظهار أقل","Show the previous page":"إظهار الصفØØ© السابقة","Show the next page":"إظهار الصفØØ© التالية",Show:"إظهار","Was this page helpful?":"هل كانت هذه الصفØØ© مفيدة؟"}},{meta:{isoCodes:["ca"],isoName:"Catalan",name:"Català "},ui:{TOPIC_UNAVAILABLE:"El tema seleccionat no està disponible ara",CONNECT_TO_INTERNET:"Comproveu que teniu connexió a Internet. Per obtenir ajuda sobre com establir connexió, seleccioneu el menú Apple > Preferències del Sistema i feu clic a Xarxa i, després, a Assistent.\nSi esteu connectat a Internet però el contingut no apareix, proveu-ho de nou més endavant.","%@ Search Results":"%@ resultats","Apple applications":"Aplicacions d'Apple",Cancel:"Cancel·lar","Change Language":"Canviar idioma",Close:"Tancar","Featured application help":"Ajuda de l'aplicació destacada","Go to the homepage":"Vés a la pà gina inicial","Help for:":"Ajuda de:",Hide:"Ocultar",Home:"Inici","Loading latest help...":"Carregant l'ajuda més actualitzada…","Other applications":"Altres aplicacions","Recent applications":"Aplicacions recents",Search:"Buscar","Send feedback.":"Enviar opinió.","Show all":"Mostrar-ho tot","Show less":"Mostrar menys","Show the previous page":"Mostra la pà gina anterior","Show the next page":"Mostra la pà gina següent",Show:"Mostrar","Was this page helpful?":"Us ha resultat útil aquesta pà gina?"}},{meta:{isoCodes:["cs"],isoName:"Czech",name:"ÄŒeÅ¡tina"},ui:{TOPIC_UNA VAILABLE:"Vybrané téma nenà k dispozici",CONNECT_TO_INTERNET:"UjistÄ›te se, že jste pÅ™ipojeni k Internetu. Chcete-li nápovÄ›du pro pÅ™ipojenÃ, použijte pÅ™Ãkaz PÅ™edvolby systému z nabÃdky Apple, kliknÄ›te na SÃÅ¥ a poté na „Průvodce“.\nJste-li pÅ™ipojeni k Internetu, avÅ¡ak obsah se pÅ™esto nezobrazuje, zkuste to znovu pozdÄ›ji.","%@ Search Results":"Výsledky hledánÃ: %@","Apple applications":"Aplikace Apple",Cancel:"ZruÅ¡it","Change Language":"ZmÄ›nit jazyk",Close:"ZavÅ™Ãt","Featured application help":"NápovÄ›da pro doporučené aplikace","Go to the homepage":"OtevÅ™Ãt domovskou stránku","Help for:":"NápovÄ›da pro:",Hide:"Skrýt",Home:"Plocha","Loading latest help...":"NačÃtánà nejnovÄ›jÅ¡Ã nápovÄ›dy…","Other applications":"Jiné aplikace","Recent applications":"Poslednà aplikace",Search:"Hledat","Send feedback.":"SdÄ›lte nám svůj názor.","Show all":"Zobrazit vÅ¡e","Show less":"Zobrazit ménÄ›","Show the previous page":"Zobrazit pÅ™edchozà stránku","Show the next page":"Zobrazit dalÅ¡Ã stránku",Show:"Zobrazit","Was this page helpful?":"Pomohla vám tato stránka?"}},{meta:{isoCodes:["da"],isoName:"Danish",name:"Dansk"},ui:{TOPIC_UN AVAILABLE:"Det valgte emne er utilgængeligt",CONNECT_TO_INTERNET:"Sørg for, at der er oprettet forbindelse til internettet. Vælg Apple > Systemindstillinger, klik pÃ¥ Netværk, og klik derefter pÃ¥ “Hjælp mig” for at fÃ¥ hjælp med at oprette forbindelse.\nHvis der er forbindelse til internettet, og indholdet stadig ikke vises, kan du prøve igen senere.","%@ Search Results":"%@ søgeresultater","Apple applications":"Apple-programmer",Cancel:"Annuller","Change Language":"Skift sprog",Close:"Luk","Featured application help":"Viste program","Go to the homepage":"GÃ¥ til hjemmesiden","Help for:":"Hjælp til:",Hide:"Skjul",Home:"Hjem","Loading latest help...":"Indlæser den nyeste hjælp…","Other applications":"Andre programmer","Recent applications":"Seneste programmer",Search:"Søg","Send feedback.":"Send feedback.","Show all":"Vis alle","Show less":"Vis færre","Show the previous page":"Vis forrige side","Show the next page":"Vis næste side",Show:"Vis","Was this page helpful?":"Var denne side nyttig?"}},{meta:{isoCodes:["de"],isoName:"German",name:"Deutsch"},ui:{TOPIC_UN AVAILABLE:"Das gewählte Thema ist derzeit nicht verfügbar",CONNECT_TO_INTERNET:"Vergewissern Sie sich, dass eine Verbindung zum Internet besteht. Wählen Sie „Apple“ > „Systemeinstellungen“, klicken Sie auf „Netzwerk“ und dann auf „Assistent“, wenn Sie Hilfe benötigen.\nWenn Sie mit dem Internet verbunden sind, den Inhalt aber dennoch nicht sehen können, versuchen Sie es zu einem späteren Zeitpunkt erneut.","%@ Search Results":"%@ Suchergebnisse","Apple applications":"Apple-Programme",Cancel:"Abbrechen","Change Language":"Sprache wechseln",Close:"Schließen","Featured application help":"Empfohlenes Programm-Hilfe","Go to the homepage":"Zur Homepage","Help for:":"Hilfe für:",Hide:"Ausblenden",Home:"Startseite","Loading latest help...":"Die neuste Hilfe wird geladen ...","Other applications":"Andere Programme","Recent applications":"Benutzte Programme",Search:"Suchen","Send feedback.":"Feedback senden.","Show all":"Alle einblenden","Show less":"Weniger einblenden","Show the previous page":"Nächste Seite einblenden","Show the next page":"Vorherige Seite einblenden",Show:"Einblenden","Was this page helpful?":"War diese Seite nützlich?"}},{meta:{isoCodes:["el"],isoName:"Greek",name:"Ελληνικά"},u i:{TOPIC_UNAVAILABLE:"Αυτήν τη στιγμή, το επιλεγμÎνο θÎμα δεν είναι διαθÎσιμο",CONNECT_TO_INTERNET:"Βεβαιωθείτε ότι είστε συνδεδεμÎνοι στο Διαδίκτυο. Για βοήθεια με τη σύνδεση, επιλÎξτε το μενού Apple > «Προτιμήσεις συστήματος», κάντε κλικ στο «Δίκτυο» και μετά στο «ΘÎλω βοήθεια».\nΕάν συνδεθείτε στο Διαδίκτυο και το περιεχόμενο δεν εμφανίζεται ακόμη, δοκιμάστε ξανά αργότερα.","%@ Search Results":"%@ αποτελÎσματα αναζήτησης","Apple applications":"ΕφαρμογÎÏ‚ Apple",Cancel:"Ακύρωση","Change Language":"Αλλαγή γλώσσας",Close:"Κλείσιμο","Featured application help":"Βοήθεια προτεινόμενων εφαρμογών","Go to the homepage":"Μετάβαση στην αρχική σελίδα","Help for:":"Βοήθεια για:",Hide:"Απόκρυψη",Home:"Αφετηρία","Loading latest help...":"Γίνεται φόρτωση της πιο πρόσφατης Βοήθειας…","Other applications":"Άλλες εφαρμογÎÏ‚","Recent applications":"Πρόσφατη εφαρμογή",Search:"Αναζήτηση","Send feedback.":"Στείλετε σχόλια.","Show all":"Εμφάνιση όλων","Show less":"Εμφάνιση λιγότερων","Show the previous page":"Εμφάνιση της προηγούμενης σελίδας","Show the next page":"Εμφάνιση της επόμενης σελίδας",Show:"Εμφάνιση","Was this page helpful?":"Ήταν χρήσιμη αυτή η σελίδα;"}},{meta:{isoCodes:["en-us","en-gb","en-ca","en-ie","en"],isoName :"English",name:"English"},ui:{TOPIC_UNAVAILABLE:"The selected topic is currently unavailable",CONNECT_TO_INTERNET:"Make sure you’re connected to the Internet. For help connecting, choose Apple menu > System Preferences, click Network, and click “Assist me.”\nIf you’re connected to the Internet, and the content still doesn’t appear, try again later.","%@ Search Results":"%@ Search Results","Apple applications":"Apple applications",Cancel:"Cancel","Change Language":"Change Language",Close:"Close","Featured application help":"Featured application help","Go to the homepage":"Go to the homepage","Help for:":"Help for:",Hide:"Hide",Home:"Home","Loading latest help...":"Loading latest help...","Other applications":"Other applications","Recent applications":"Recent applications",Search:"Search","Send feedback.":"Send feedback.","Show all":"Show all","Show less":"Show less","Show the previous page":"Show the previous page","Show the next page":"Show the next page",Show:"Show","Was this page helpful?":"Was this page helpful?"}},{meta:{isoCodes:["es"],isoName:"Spanish",name:"Español"},ui:{TOPIC _UNAVAILABLE:"El tema seleccionado no está disponible en estos momentos",CONNECT_TO_INTERNET:"Asegúrese de que está conectado a Internet. Si necesita ayuda para conectarse, seleccione menú Apple > Preferencias del Sistema, haga clic en Red y, a continuación, haga clic en Asistente.\nSi ya está conectado a Internet pero no se muestra el contenido del tema, inténtelo de nuevo más tarde.","%@ Search Results":"%@ resultados","Apple applications":"Aplicaciones de Apple",Cancel:"Cancelar","Change Language":"Cambiar idioma",Close:"Cerrar","Featured application help":"Ayuda de la aplicación destacada","Go to the homepage":"Ir a la página de inicio","Help for:":"Ayuda de:",Hide:"Ocultar",Home:"Inicio","Loading latest help...":"Cargando la ayuda más reciente…","Other applications":"Otras aplicaciones","Recent applications":"Aplicaciones recientes",Search:"Buscar","Send feedback.":"Enviar opinión.","Show all":"Mostrar todo","Show less":"Mostrar menos","Show the previous page":"Mostrar la página anterior","Show the next page":"Mostrar la página siguiente",Show:"Mostrar","Was this page helpful?":"¿Le ha resultado útil esta página?"}},{meta:{isoCodes:["fi"],isoName:"Finnish",name:"Suomi"},ui:{TOPIC_UN AVAILABLE:"Valittu aihe ei ole tällä hetkellä käytettävissä",CONNECT_TO_INTERNET:"Varmista, että olet yhteydessä internetiin. Jos tarvitset apua yhteyden muodostamisessa, valitse Omenavalikko > Järjestelmäasetukset, osoita Verkko ja osoita Avusta.\nJos olet yhteydessä internetiin, mutta sisältö ei silti tule näkyviin, yritä myöhemmin uudelleen.","%@ Search Results":"%@ - hakutulokset","Apple applications":"Applen ohjelmat",Cancel:"Kumoa","Change Language":"Vaihda kieltä",Close:"Sulje","Featured application help":"Esittelyssä olevan ohjelman ohje","Go to the homepage":"Siirry kotisivulle","Help for:":"Ohje:",Hide:"Kätke",Home:"Koti","Loading latest help...":"Ladataan uusinta ohjetta…","Other applications":"Muut ohjelmat","Recent applications":"Äskeiset ohjelmat",Search:"Etsi","Send feedback.":"Lähetä palautetta.","Show all":"Näytä kaikki","Show less":"Näytä vähemmän","Show the previous page":"Näytä edellinen sivu","Show the next page":"Näytä seuraava sivu",Show:"Näytä","Was this page helpful?":"Oliko tästä sivusta apua?"}},{meta:{isoCodes:["fr"],isoName:"French",name:"Français"},ui:{TOPIC_UN AVAILABLE:"La rubrique sélectionnée est actuellement indisponible.",CONNECT_TO_INTERNET:"Assurez-vous d’être connecté à Internet. Pour obtenir de l’aide pour vous connecter, choisissez le menu Pomme > Préférences Système, cliquez sur Réseau puis sur Assistant.\nSi vous êtes connecté à Internet, mais que le contenu ne s’affiche toujours pas, réessayez ultérieurement.","%@ Search Results":"%@ résultats","Apple applications":"Applications Apple",Cancel:"Annuler","Change Language":"Changer de langue",Close:"Fermer","Featured application help":"Aide de l’application actuelle","Go to the homepage":"Aller à la page d'accueil","Help for:":"Aide pour :",Hide:"Masquer",Home:"Accueil","Loading latest help...":"Chargement de l’Aide la plus récente… ","Other applications":"Autres applications","Recent applications":"Applications récentes",Search:"Rechercher","Send feedback.":"Envoyer des commentaires.","Show all":"Affichage total","Show less":"Affichage partiel","Show the previous page":"Afficher la page précédente","Show the next page":"Afficher la page suivante",Show:"Afficher","Was this page helpful?":"Avez-vous trouvé cette page utile ?"}},{meta:{isoCodes:["he"],isoName:"Hebrew",name:"עברית"},ui:{TOPIC_UNAVA ILABLE:"×”× ×•×©× ×©× ×‘×—×¨ ××™× ×• זמין כעת.",CONNECT_TO_INTERNET:"ודא/×™ ×©×”×™× ×š מחובר/ת ×œ××™× ×˜×¨× ×˜. לעזרה ×‘× ×•×©× התחברות, בחר/×™ תפריט Apple > ״העדפות המערכת״, לחץ/×™ על ״רשת״ ובחרי ״עזור לי״.\nאם ×”×™× ×š מחובר/ת ×œ××™× ×˜×¨× ×˜, ובכל זאת התוכן ××™× ×• מופיע, × ×¡×”/×™ שוב מאוחר יותר.","%@ Search Results":"%@ תוצאות","Apple applications":"יישומי Apple",Cancel:"ביטול","Change Language":"החלף/×™ שפה",Close:"סגור","Featured application help":"עזרה ×‘× ×•×©× היישומים המומלצים","Go to the homepage":"עבור אל דף הבית","Help for:":"עזרה ×‘× ×•×©×:",Hide:"הסתר",Home:"בית","Loading latest help...":"טוען את קבצי העזרה החדשים ביותר…","Other applications":"יישומים אחרים","Recent applications":"יישומים ××—×¨×•× ×™×",Search:"חיפוש","Send feedback.":"שלח/×™ משוב.","Show all":"הצג הכול","Show less":"הצג פחות","Show the previous page":"הצג את העמוד הקודם","Show the next page":"הצג את העמוד הבא",Show:"הצג","Was this page helpful?":"האם עמוד ×–×” עזר לך?"}},{meta:{isoCodes:["hr"],isoName:"Croatian",name:"Hrvatski"},ui:{TOPIC_U NAVAILABLE:"Odabrana tema trenutno nije dostupna",CONNECT_TO_INTERNET:'Provjerite jeste li spojeni na internet. Za pomoć pri spajanju odaberite Apple izbornik > Postavke sustava, kliknite na Mreža i zatim na "Pomoć".\nAko ste spojeni na internet i sadržaj se svejedno ne pojavljuje, pokuÅ¡ajte ponovno kasnije.',"%@ Search Results":"Rezultata pretraživanja: %@","Apple applications":"Appleove aplikacije",Cancel:"Odustani","Change Language":"Promijeni jezik",Close:"Zatvori","Featured application help":"Pomoć za ponuÄ‘ene aplikacije","Go to the homepage":"Prijelaz na početnu stranicu","Help for:":"Pomoć za:",Hide:"Sakrij",Home:"Početna stranica","Loading latest help...":"Učitavanje najnovijih datoteka pomoći…","Other applications":"Ostale aplikacije","Recent applications":"Novije aplikacije",Search:"Pretraži","Send feedback.":"PoÅ¡alji povratne informacije.","Show all":"Prikaži sve","Show less":"Prikaži manje","Show the previous page":"Prikaži prethodnu stranicu","Show the next page":"Prikaži sljedeću stranicu",Show:"Prikaži","Was this page helpful?":"Je li vam ova stranica pomogla?"}},{meta:{isoCodes:["hu"],isoName:"Hungarian",name:"Magyar"},ui:{TOPIC _UNAVAILABLE:"A kijelölt témakör jelenleg nem érhetÅ‘ el.",CONNECT_TO_INTERNET:"GyÅ‘zÅ‘djön meg róla, hogy csatlakozik az internethez. Ha segÃtségre van szüksége, válassza az Apple menü > RendszerbeállÃtások menüpontot, kattintson a Hálózat, majd a „SegÃtség kérése” elemre.\nHa csatlakozik az internethez, és a tartalom továbbra sem jelenik meg, próbálja meg késÅ‘bb.","%@ Search Results":"%@ keresési eredmény","Apple applications":"Apple alkalmazások",Cancel:"Mégsem","Change Language":"Nyelv módosÃtása",Close:"Bezárás","Featured application help":"Kiemelt alkalmazássúgó","Go to the homepage":"Ugrás a kezÅ‘dlapra","Help for:":"Súgó a következÅ‘höz:",Hide:"Elrejtés",Home:"FÅ‘gomb","Loading latest help...":"Legújabb súgó betöltése…","Other applications":"Egyéb alkalmazások","Recent applications":"Legutóbbi alkalmazások",Search:"Keresés","Send feedback.":"Visszajelzés küldése","Show all":"Az összes megjelenÃtése","Show less":"Kevesebb megjelenÃtése","Show the previous page":"ElÅ‘zÅ‘ oldal megjelenÃtése","Show the next page":"KövetkezÅ‘ oldal megjelenÃtése",Show:"MegjelenÃtés","Was this page helpful?":"Hasznosnak találta ezt az oldalt?"}},{meta:{isoCodes:["id"],isoName:"Indonesian",name:"Bahasa Indonesia"},ui:{TOPIC_UNAVAILABLE:"Topik yang dipilih saat ini tidak tersedia",CONNECT_TO_INTERNET:"Pastikan Anda terhubung ke Internet. Untuk bantuan dalam menghubungkan, pilih menu Apple > Preferensi Sistem, klik Jaringan, dan klik “Bantu saya.”\nJika Anda terhubung ke Internet, dan konten masih tidak muncul, coba lagi nanti.","%@ Search Results":"%@ Hasil Pencarian","Apple applications":"Aplikasi Apple",Cancel:"Batal","Change Language":"Ubah Bahasa",Close:"Tutup","Featured application help":"Fitur bantuan aplikasi","Go to the homepage":"Kunjungi halaman rumah","Help for:":"Bantuan untuk:",Hide:"Sembunyikan",Home:"Rumah","Loading latest help...":"Memuat bantuan terbaru…","Other applications":"Aplikasi lain","Recent applications":"Aplikasi terbaru",Search:"Cari","Send feedback.":"Kirim umpan balik.","Show all":"Tampilkan semua","Show less":"Tampilkan sebagian","Show the previous page":"Tampilkan halaman sebelumnya","Show the next page":"Tampilkan halaman berikutnya",Show:"Tampilkan","Was this page helpful?":"Apakah halaman ini membantu?"}},{meta:{isoCodes:["it"],isoName:"Italian",name:"Italiano"},ui:{TOPI C_UNAVAILABLE:"L'argomento selezionato non è al momento disponibile.",CONNECT_TO_INTERNET:"Assicurati di essere connesso a Internet. Per assistenza su come configurare la connessione a Internet, scegli menu Apple > Preferenze di Sistema, fai clic su Network, quindi su “Aiutami”.\nSe sei connesso a Internet, ma non puoi visualizzare il contenuto, riprova più tardi.","%@ Search Results":"%@ risultati di ricerca","Apple applications":"Applicazioni Apple",Cancel:"Annulla","Change Language":"Cambia lingua",Close:"Chiudi","Featured application help":"Aiuto applicazione in primo piano","Go to the homepage":"Vai alla pagina iniziale","Help for:":"Aiuto per:",Hide:"Nascondi",Home:"Inizio","Loading latest help...":"Carico argomento dell'aiuto più recente…","Other applications":"Altre applicazioni","Recent applications":"Applicazioni recenti",Search:"Cerca","Send feedback.":"Invia commenti.","Show all":"Mostra tutto","Show less":"Mostra meno","Show the previous page":"Mostra pagina precedente","Show the next page":"Mostra pagina successiva",Show:"Mostra","Was this page helpful?":"Hai trovato utile questa pagina?"}},{meta:{isoCodes:["ja"],isoName:"Japanese",name:"日本語"},ui:{TOPI C_UNAVAILABLE:"選択したトピックは現在利用㠁§ãã¾ã›ã‚“",CONNECT_TO_INTERNET:"インターム1;ットに接続していることを確認㠁—てください。接続について調べたã&# 129;„ときは、アップルメニュー>「シスム†ãƒ 環境è¨å®šã€ã¨é¸æŠžã—、「ネットワー㠂¯ã€ã‚’クリックしてから「アシスタント」 ;をクリックします。\nã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã«æ Ž¥ç¶šã—ているのにコンテンツが表示ã&# 129;•ã‚Œãªã„å ´åˆã¯ã€å¾Œã§ã‚„ã‚Šç›´ã—ã¦ãã 9; さい。","%@ Search Results":"%@ 件の検索結果","Apple applications":"Apple アプリケーション",Cancel:"ã‚ャンセル","Change Language":"言語を変更",Close:"閉じる","Featured application help":"お勧めのアプリケーションヘルプ","Go to the homepage":"ホームページに移動","Help for:":"表示ä¸ã®ãƒ˜ãƒ«ãƒ—:",Hide:"éš ã™",Home:"ホーム","Loading latest help...":"最新のヘルプをèªã¿è¾¼ã¿ä¸...","Other applications":"ほかのアプリケーション","Recent applications":"最近使ったアプリケーション",Search:"æ¤œç´ ¢","Send feedback.":"フィードバックを送信","Show all":"すべてを表示","Show less":"一部を表示","Show the previous page":"前のページを表示","Show the next page":"次のページを表示",Show:"表示","Was this page helpful?":"このページは役立ちましã 9;Ÿã‹ï¼Ÿ"}},{meta:{isoCodes:["ko"],isoName:"Korean",name:"한글"},ui:{TOP IC_UNAVAILABLE:"ì„ íƒí•œ ì£¼ì œëŠ” 현재 ì‚¬ìš©í• ìˆ˜ 없습니다.",CONNECT_TO_INTERNET:"인터넷에 연결되어 있는지 확인하ì‹ì‹œì˜¤. 연결에 대한 도움말은 Apple 메뉴 > 시스템 í™˜ê²½ì„¤ì •ì„ ì„ íƒí•˜ê³ ë„¤íŠ¸ì›Œí¬ë¥¼ 클ë¦í•œ 다음 “도와주세요”를 클ë¦í•˜ì‹ì‹œì˜¤.\n인터넷에 연결되어 있지만 해당 ì½˜í…ì¸ ê°€ ì—¬ì „ížˆ 나타나지 않는 경우 나중에 다시 시도해보ì‹ì‹œì˜¤.","%@ Search Results":"%@개의 검색 ê²°ê³¼","Apple applications":"Apple 응용 프로그램",Cancel:"취소","Change Language":"언어 변경",Close:"닫기","Featured application help":"추천 응용 프로그램 도움말","Go to the homepage":"홈페이지로 이동","Help for:":"도움말:",Hide:"가리기",Home:"홈","Loading latest help...":"ìµœì‹ ë„ì›€ë§ 불러오는 중...","Other applications":"기타 응용 프로그램","Recent applications":"최근 사용 응용 프로그램",Search:"검색","Send feedback.":"피드백 보내기.","Show all":"모두 보기","Show less":"간단히 보기",Show:"보기","Show the previous page":"ì´ì „ 페이지 보기","Show the next page":"다음 페이지 보기","Was this page helpful?":"이 페이지가 도움이 되셨습니까?"}},{meta:{isoCodes:["ms"],isoName:"Malaysian",name:"Bahas a Malaysia"},ui:{TOPIC_UNAVAILABLE:"Topik yang dipilih tidak tersedia sekarang",CONNECT_TO_INTERNET:"Pastikan anda disambungkan ke Internet. Untuk bantuan sambungan, pilih menu Apple > Keutamaan Sistem, klik Rangkaian, dan klik “Bantu saya.”\nJika anda disambungkan ke Internet, dan kandungan masih tidak muncul, cuba lagi nanti.","%@ Search Results":"%@ Hasil Carian","Apple applications":"Aplikasi Apple",Cancel:"Batal","Change Language":"Tukar Bahasa",Close:"Tutup","Featured application help":"Bantuan untuk aplikasi yang ditampilkan","Go to the homepage":"Pergi ke laman utama","Help for:":"Bantuan untuk:",Hide:"Sembunyikan",Home:"Utama","Loading latest help...":"Memuatkan bantuan terbaru...","Other applications":"Aplikasi lain","Recent applications":"Aplikasi terbaru",Search:"Cari","Send feedback.":"Hantar maklum balas.","Show all":"Tunjukkan semua","Show less":"Tunjukkan sedikit","Show the previous page":"Tunjukkan halaman sebelumnya","Show the next page":"Tunjukkan halaman seterusnya",Show:"Tunjukkan","Was this page helpful?":"Adakah halaman ini membantu?"}},{meta:{isoCodes:["nl"],isoName:"Dutch",name:"Nederlands"},ui:{TOPI C_UNAVAILABLE:"Het geselecteerde onderwerp is momenteel niet beschikbaar",CONNECT_TO_INTERNET:"Controleer of er verbinding is met het internet. Als u hulp nodig hebt, kiest u Apple-menu > 'Systeemvoorkeuren' en klikt u vervolgens op 'Netwerk' en 'Assistentie'.\nAls u verbinding hebt met het internet en de inhoud nog steeds niet wordt weergegeven, probeert u het later nogHi Mac Attack,
My computer will not disconnect from the internet. It seems to find a clone router and continues even when I shut down and unplug my my own home iy
Your main question was 'chopped' in the title. Please reply in the body of a reply box with the full question and anything you have tried. And no, the long report was not helpful .
If the same website is opening each time you launch a browser (Safari?) hold down the shift key as you launch to prevent previous pages from opening.
Have a look at your settings in Safari > Preferences. Especially General and Privacy.
Reset Safari to remove cookies and other stored data.
System Preferences > General
Have a look at your settings in System Preferences > Security & Privacy.
Call back with more questions.
Regards,
Ian -
Good morning.
I can successfully deploy Office 2013 via PowerShell and App-V v5.0 without difficulty. I've read the document at
http://support.microsoft.com/kb/2915745/en-us and followed all instructions successfully.
My question is this: If Office 2013 without Visio 2013 or Project 2013 is virtually deployed, how can those components be added later?
For instance, we may have 100 users that acquire a virtualized Office 2013 without Project or Visio. We then may have 25 users that require a virtualized Office and Visio without Project and, perhaps, another 15 that require Office and Project without
Visio.
Currently, when I attempt a second virtual deployment of one of these components, it removes Office 2013 making it inaccessible.
How can Project and/or Visio be deployed to an already existing virtually deployed Office 2013?
Thanks very much.
John
IAmStringsAs a part of MDOP, you'll also have access to UE-V which will provide a mechanism of moving user preferences across the same applications from difference packages.
It will require planning, configuration and deployment, but will ensure you don't face the same issue in the future.
Please remember to click "Mark as Answer" or "Vote as Helpful" on the post that answers your question (or click "Unmark as Answer" if a marked post does not actually
answer your question). This can be beneficial to other community members reading the thread.
This forum post is my own opinion and does not necessarily reflect the opinion or view of my employer, Microsoft, its employees, or other MVPs.
Twitter:
@stealthpuppy | Blog:
stealthpuppy.com |
The Definitive Guide to Delivering Microsoft Office with App-V -
I am trying to run a PowerShell script to upload files into a SharePoint site in an Azure environment...the script works fine on my local machine, but every time I run it in Azure (remotely), I get errors. Here is what my simple script looks like...
if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null )
Write-Host "Loading Sharepoint Module "
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
Add-PSSnapin -Name Microsoft.SharePoint.PowerShell
if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell) -eq $null )
Write-Host "Failed to load sharepoint snap-in. Could not proceed further, Aborting ..."
Exit
#Script settings
$webUrl = "http://sampleWebUrl"
$docLibraryName = "My Documents"
$docLibraryUrlName = "My%20Documents"
$localFolderPath = get-childitem "C:\Upload\Test Upload\My Documents\" -recurse
$contentType = "ContenttType1"
#Open web and library
$web = Get-SPWeb $webUrl
write-host "Web:" $web
$docLibrary = $web.Lists[$docLibraryName]
write-host "docLibrary:" $docLibrary
$files = ([System.IO.DirectoryInfo] (Get-Item $localFolderPath)).GetFiles()
write-host "files:" $files
If ($contentType = "ContenttType1")
#Open file
$fileStream = ([System.IO.FileInfo] (Get-Item $file.FullName)).OpenRead()
# Gather the file name
$FileName = $File.Name
#remove file extension
$NewName = [IO.Path]::GetFileNameWithoutExtension($FileName)
#split the file name by the "-" character
$FileNameArray = $NewName.split("_")
$check = $FileNameArray.Length
#Add file
$folder = $web.getfolder($docLibrary.rootFolder.URL)
write-host "Copying file " $file.Name " to " $folder.ServerRelativeUrl "..."
$spFile = $folder.Files.Add($folder.Url + "/" + $file.Name, [System.IO.Stream]$fileStream, $true)
$spItem = $spFile.Item
write-host "Success"
write-host "SP File:" $spFile
write-host "SP Item" $spItem
#populate columns
$spItem["Column1"] = $FileNameArray[0]
$spItem["Column2"] = $FileNameArray[1]
$spItem.Update()
$fileStream.Close();
Again, I can run this on my local machine and it works just fine, but when I attempt to run it on the Azure environment I get this error...
Get-Item : Cannot find path 'C:\powershellscripts\12653_B7045.PDF' because it does not exist.
At C:\PowerShellScripts\Upload-FilesIntoSharePointTester.ps1:32 char:42
+ $files = ([System.IO.DirectoryInfo] (Get-Item $localFolderPath)).GetFiles()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\powershellscripts\12653_B7045.PDF:String) [Get-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand
What strikes me first is the fact that the file its looking for is in the "C:\Upload\Test Upload\My Documents\" directory, but the error keeps saying "C:\powershellscripts\" which is where my script resides and not the files I want to
upload into SharePoint. When I step through the code, all the variables are holding the correct values. The $localFolderPath shows the name of files that I am attempting to upload, so it recognizes them. But once I step through this particular line of code,
the error occurs...
$files = ([System.IO.DirectoryInfo] (Get-Item $localFolderPath)).GetFiles()
Is this an error caused because I am remoting into the Azure environment? Has anyone dealt with this issue before? I would really appreciate the help. Thanks
Update: quick thing I noticed is that these two lines of code are returning null values. Again, is this handled differently in Azure or remotely? I ask cause this is the way I know how to do this, locally.
$docLibrary = $web.Lists[$docLibraryName]
$files = ([System.IO.DirectoryInfo] (Get-Item $localFolderPath)).GetFiles()"...square brackets are wildcard characters in Windows PowerShell..."
When you use cd without a parameter it uses the -Path parameter. In this case you'll have to escape the square brackets so they are not considered wildcards. Each of the commands in the first example does the exact same thing.
cd 'Learn PowerShell `[Do Whatever`]'
cd -Path 'Learn PowerShell `[Do Whatever`]'
cd (or Set-Location) also has a literal path parameter (-LiteralPath) that does not require using an escape character (`) before each of the brackets. Hope this helps.
cd -LiteralPath 'Learn PowerShell [Do Whatever]' -
DPM 2010 Shell Cmdlets usage leading to Powershell crash
Hi all,
I have 71 DPM 2010 servers located at various places in the world. The most of them have a good and reliable network connection while some of them are connected via Sat-Link. All of my DPM 2010 servers have the same version, and are all running in identical
W2K8 Servers with Powershell 3 installed on them. I've made a script to inventorize Datasource Replica disk usage/allocation, shadow volume disk usage/allocation and the number of recovery points, their size. The goal of this script is to do the job that DPM
2010 should normaly do, for instance, deleting recovery points above retention date because it is not always the case... File recovery points number grows to their maximum (64) and for system State (because there is no User recovery on these ressources) their
number can be above 100 and generally it's about 150...
The script is running well locally, but if I try yo run a single Get-Datasource from one of my servers targeting another server, sometimes it leads to a simple Powershell crash... I also tried an invoke-command as job it's the same, the job returns nothing
but it is marked as completed or sometimes as failed. This happens always on some server and on the other only sometimes...
I really don't understand where is the origin of this problem... As anyone encountered such behaviour ?
Thanks a lot in advance ;-)I did not find a solution to my problem yet, but I solved a part of it...
The first of all "Powershell crash" was solved by issuing a Disconnect-DPMServer before each Get-DataSource...
The second problem solved was the fact that the Get-DataSource cmdlet required the parameter <DPMServer> to be fully in Uppercase...
The last problem remaining is the Invoke-command that continue to fail... Here is my code :
$DPMServerStatusList = @()
foreach($DPMServer in $DPMServerList){
if(Test-Connection -Count 1 -BufferSize 16 -ComputerName $DPMServer){
$DPMServerStatusList += @{
Reachable = $True
Computer = $DPMServer
}else{
$DPMServerStatusList += @{
Reachable = $False
Computer = $DPMServer
$i=1
foreach ($DPMServerState in $DPMServerStatusList){
Write-Host $i ")" $DPMServerState.Computer " : " -BackgroundColor Blue -ForegroundColor White -NoNewline
if($DPMServerState.Reachable){
Write-Host "ONLINE" -BackgroundColor Green
$Computer = $DPMServerState.Computer
Invoke-Command -ComputerName $Computer -AsJob -JobName "$Computer" -ScriptBlock {
param(
$Computer
if((Get-PSSnapin -Name "Microsoft.DataProtectionManager.PowerShell" -ErrorAction SilentlyContinue) -eq $null ){
Add-PSSnapin -Name "Microsoft.DataProtectionManager.PowerShell"
Disconnect-DPMServer
$DPMDataSources = Get-Datasource -DPMServerName $Computer
$DPMTotalConsumedSpace = 0
$DPMTotalUnshrinkableSpace = 0
$DPMTotalRealSpaceUsage = 0
$DPMTotalWastedSpace = 0
$DPMDataSourceReport = @()
foreach($DPMDataSource in $DPMDataSources){
if($DPMDataSource.ReplicaSize -ge 0){
$DPMTotalConsumedSpace += $DPMDataSource.ReplicaSize
$DPMTotalConsumedSpace += $DPMDataSource.ShadowCopyAreaSize
$DPMTotalUnshrinkableSpace += $DPMDataSource.ReplicaSize
$DPMTotalRealSpaceUsage += $DPMDataSource.ReplicaUsedSpace
$DPMTotalRealSpaceUsage += $DPMDataSource.ShadowCopyUsedSpace
$DPMDataSourceName = $DPMDataSource.DatasourceName
$DPMProtectionGroupName = $DPMDataSource.ProtectionGroupName
$DPMReplicaSpaceStatus = "" + $(($DPMDataSource.ReplicaSize) / 1GB) + "GB / " + $(($DPMDataSource.ReplicaUsedSpace) / 1GB) + "GB"
$DPMShadowSpaceStatus = "" + $(($DPMDataSource.ShadowCopyAreaSize) / 1GB) + "GB / " + $(($DPMDataSource.ShadowCopyUsedSpace) / 1GB) + "GB"
$DPMOldestDate = $DPMDatasource.GetRecoveryPoint()[0].RepresentedPointInTime
$DPMRecoveryPointNumber = $DPMDatasource.GetRecoveryPoint().Count
$DPMRecoveryPointNumberToBeCleaned = $($DPMRecoveryPointNumber - 35)
#Write-Host ""
#Write-Host " Name : " $DPMDataSourceName
#Write-Host " ProtectionGroup : " $DPMProtectionGroupName
#Write-Host " Replica Space Status : " $DPMReplicaSpaceStatus
#write-Host " Shadow Copy Status : " $DPMShadowSpaceStatus
#Write-Host " Earliest Date : " $DPMOldestDate
#Write-Host " RecoveryPointsNumber : " $DPMRecoveryPointNumber
if($DPMRecoveryPointNumberToBeCleaned -gt 0){
$DPMDeleteFrom = $DPMDatasource.GetRecoveryPoint()[0].RepresentedPointInTime
$DPMDeleteTo = $DPMDatasource.GetRecoveryPoint()[$DPMRecoveryPointNumberToBeCleaned].RepresentedPointInTime
$DPMRestorePointsListToDelete = $(0..$DPMRecoveryPointNumberToBeCleaned) | %{$_}
#Write-Host " RecoveryPointsToBeCleaned : " $DPMRecoveryPointNumberToBeCleaned -BackgroundColor Red
#Write-host " Will delete Restore point from : " $DPMDeleteFrom " to " $DPMDeleteTo
#Write-host " Restore Point ID To delete : " $DPMRestorePointsListToDelete
$DPMDataSourceReport += @{
Name = $DPMDataSourceName
ProtectionGroup = $DPMProtectionGroupName
ReplicaSpaceStatus = $DPMReplicaSpaceStatus
ShadowSpaceStatus = $DPMShadowSpaceStatus
OldestDate = $DPMOldestDate
RecoveryPointNumber = $DPMRecoveryPointNumber
RecoveryPointNumberToBeCleaned = $DPMRecoveryPointNumberToBeCleaned
DeleteFrom = $DPMDeleteFrom
DeleteTo = $DPMDeleteTo
RestorePointsListToDelete = $DPMRestorePointsListToDelete
}else{
#Write-Host " RecoveryPointsToBeCleaned : None" -BackgroundColor Green
$DPMDataSourceReport += @{
Name = $DPMDataSourceName
ProtectionGroup = $DPMProtectionGroupName
ReplicaSpaceStatus = $DPMReplicaSpaceStatus
ShadowSpaceStatus = $DPMShadowSpaceStatus
OldestDate = $DPMOldestDate
RecoveryPointNumber = $DPMRecoveryPointNumber
RecoveryPointNumberToBeCleaned = 0
DeleteFrom = 0
DeleteTo = 0
RestorePointsListToDelete = @()
#Write-Host " Realocate Data Require : " $DPMDatasource.ReAllocationRequired
$DPMTotalWastedSpace = $DPMTotalConsumedSpace - $DPMTotalRealSpaceUsage
#Write-Host "_______________________________________________________"
#Write-Host "Global Status : "
#Write-Host " Disk Allocation : " $($DPMTotalConsumedSpace / 1GB) "GB"
#Write-Host " Disk Usage : " $($DPMTotalRealSpaceUsage / 1GB) "GB"
#Write-Host " Locked Space : " $($DPMTotalUnshrinkableSpace / 1GB) "GB"
#Write-Host " Wasted Space : " $($DPMTotalWastedSpace / 1GB) "GB"
return $DPMFinalReportArray = @{
ServerName = $Computer
DiskAllocation = $DPMTotalConsumedSpace
DiskUsage = $DPMTotalRealSpaceUsage
LockedSpace = $DPMTotalUnshrinkableSpace
WastedSpace = $DPMTotalWastedSpace
DataSources = $DPMDataSourceReport
} -ArgumentList $Computer
}else{
Write-Host ": OFFLINE" -BackgroundColor Red
$i++
If it can help... What do am I doing wrong ? -
How to get DocSet property values in a SharePoint library into a CSV file using Powershell
Hi,
How to get DocSet property values in a SharePoint library into a CSV file using Powershell?
Any help would be greatly appreciated.
Thank you.
AA.Hi AOK,
Would you please post your current script and the issue for more effcient support.
In addition, to manage document set in sharepoint please refer to this script to start:
### Load SharePoint SnapIn
2.if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null)
3.{
4. Add-PSSnapin Microsoft.SharePoint.PowerShell
5.}
6.### Load SharePoint Object Model
7.[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)
8.
9.### Get web and list
10.$web = Get-SPWeb http://myweb
11.$list = $web.Lists["List with Document Sets"]
12.
13.### Get Document Set Content Type from list
14.$cType = $list.ContentTypes["Document Set Content Type Name"]
15.
16.### Create Document Set Properties Hashtable
17.[Hashtable]$docsetProperties = @{"DocumentSetDescription"="A Document Set"}
18.$docsetProperties = @{"CustomColumn1"="Value 1"}
19.$docsetProperties = @{"CustomColum2"="Value2"}
20. ### Add all your Columns for your Document Set
21.
22.### Create new Document Set
23.$newDocumentSet = [Microsoft.Office.DocumentManagement.DocumentSets.DocumentSet]::Create($list.RootFolder,"Document Set Title",$cType.Id,$docsetProperties)
24.$web.Dispose()
http://www.letssharepoint.com/2011/06/document-sets-und-powershell.html
If there is anything else regarding this issue, please feel free to post back.
Best Regards,
Anna Wang
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected] -
How to export Powershell script information to Sharepoint?
I'm trying to export information gather from a Powershell script to a Sharepoint list. I've got a couple of powershell scripts that gather general server information from a server ex: server uptime, disk space, service tag, etc. and it will export the information
to a csv file. What I would like to do is out-put the same information gathered by the powershell scripts to a Sharepoint list directly if at all possible.
Ex:
# all this does is reads from a list and runs a script call "boottime.ps1"
get-content "\\%Data-Path-Of-List%\computers.txt" | %Data-Path-Of-Script%\boottime.ps1 | Export-csv %Data-Path-For-CSV\Computers.csv
# then just exports the information from the boottime.ps1 script to a csv file
#I also have a script that will upload the information to a sharepoint list.
# I found that I have to run this in version 2 of powershell, so I just open a DOS prompt in Admin Priv's and type the following
powershell.exe -version 2.0
# Next I make sure the Sharepoint snap-in is loaded
if ( (Get-PSSnapin -Name Microsoft.sharepoint.powershell - erroraction silentlycontinue) -eq $null)
Add-PsSnapin Microsoft.Sharepoint.Powershell
$spweb = get-SPweb $spserver
$spdata =$spweb.getlist("%URL_Of_My_List%")
# this is the same location from the orginal Powershell script previously stated.
$ComputerInfoFile = "%Data-Path-For-CSV%\Computers.csv"
foreach ($rows in $tblData) {
# here is where I add the information from my csv file
# 2 things needs to be present
# 1st the colums have to be present in the sharepoint site before I can upload the information
# 2nd the columns have to the headers in my csv file
$spItem = $spData.AddItem()
$SpItem["ServerName"] = $row."ServerName".toString()
$SpItem["Uptime"] = $row."Uptime".toString()
$SpItem.Update()
# this just disconnects from Sharepoint
$spWeb.Dispose()
Please dismiss all the comments it just helps me understand what the code is doing, also if this is not the correct place to post this question I appologize in adavance and ask that if this is the incorrect place to post this question please provide me a
link to a where I can post such questions.Sorry for the delay in posting this, but I ended up getting working. I'll post it in the hopes that my head scratching will save someone else some head scratching:
I ended up writting 3 PS scripts and one batch job.
1st Batch file
powershell.exe -version 2.0 -command
\\%Script-Location\Get-Server-Infor-4-SP.ps1
powershell.exe -version 2.0 -command \\%Script-Location\Delete-list-Items.ps1"
powershell -veriosn 2.0 -command
\\%Script-Location\Populate-SP.ps1
1st PS script that gets the info:
get-content
\\%Location-Of-My-File-With-List-Of-Servers%\%name-of-file%.txt |
\\%Location-Of-My-Script-To-get-the-Information-I-want | Export-csv
\\%location-of-my-output\%filename%.csv
Ex: get-content C:\scripts\computers.txt | C:\scripts\boottime.ps1 | export-csv C:\scripts\computer.csv
2nd PS script Delete-List-Items.ps1
# http:
#Script 1 Boottime.ps1:
# This script permits to get UpTime from localHost or a set of remote Computer
# usage
# localHost
# .\BootTime.ps1
# set of remote computers
# get-content .\MyserverList.txt | .\boottime.ps1
# Optionally pipe output to Export-Csv, ConverTo-Html
Process {
$ServerName = $_
if ($serverName -eq $Null) {
$serverName= $env:COMPUTERNAME
$timeVal = (Get-WmiObject -ComputerName $ServerName -Query "SELECT LastBootUpTime FROM Win32_OperatingSystem").LastBootUpTime
#$timeVal
$DbPoint = [char]58
$Years = $timeVal.substring(0,4)
$Months = $timeVal.substring(4,2)
$Days = $timeVal.substring(6,2)
$Hours = $timeVal.substring(8,2)
$Mins = $timeVal.substring(10,2)
$Secondes = $timeVal.substring(12,2)
$dayDiff = New-TimeSpan $(Get-Date –month $Months -day $Days -year $Years -hour $Hours -minute $Mins -Second $Secondes) $(Get-Date)
$Info = "" | select ServerName, Uptime
$Info.servername = $servername
$d =$dayDiff.days
$h =$dayDiff.hours
$m =$dayDiff.Minutes
$s = $daydiff.Seconds
$info.Uptime = "$d Days $h Hours $m Min $s Sec"
$Info
#Script 2: Delete-List-Items.ps1
# http://markimarta.com/sharepoint/delete-all-items-in-sharepoint-list-using-powershell/
# there seems to be a problem with running this script in version 3 or later, the workaround is to run it in version 2
# below is the cmd for doing so, just open up a DOS prompt with Admin Privileges Start-->Run-->cmd
# type then copy and paste the following line the DOS window then you can run this script
#powershell.exe -version 2.0
# make sure that the Microsoft.SharePoint.PowerShell Snap-in is installed as well
if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null )
Add-PsSnapin Microsoft.SharePoint.PowerShell
# "Enter the site URL instead http://serverurl"
$SITEURL = "%http://serverurl%"
$site = new-object Microsoft.SharePoint.SPSite ( $SITEURL )
$web = $site.OpenWeb()
"Web is : " + $web.Title
# Enter name of the List below in the [“%List-Name%”]
$oList = $web.Lists["%List-Name%"];
# This echo out the name of the list its going to be deleting the records from
"List is :" + $oList.Title + " with item count " + $oList.ItemCount
# It’s just counting the rows/records
$collListItems = $oList.Items;
$count = $collListItems.Count - 1
# Here is where it is actually deleting the records and then out put the number or the record it deleted
for($intIndex = $count; $intIndex -gt -1; $intIndex--)
"Deleting record: " + $intIndex
$collListItems.Delete($intIndex);
#Script 3: Populate-SP_Test.ps1
# http://blogs.technet.com/b/stuffstevesays/archive/2013/07/10/3577320.aspx
# there seems to be a problem with running this script in version 3 or later, the workaround is to run it in veriosn 2
# below is the cmd for doing so, just open up a DOS prompt with Admin Privileges Start-->Run-->cmd
# type then copy and paste the following line the the DOS window then you can run this script
#powershell.exe -version 2.0
# make sure that the Microsoft.SharePoint.PowerShell Snap-in is installed
if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null )
Add-PsSnapin Microsoft.SharePoint.PowerShell
# Here are some more varables that can be added I was not able to get this to work
#$SPComputerInfo="/Lists/PowershellTest/"
# Here is where we connect and Open SharePoint List via Powershell
$SPServer= "%http://serverurl%
$spWeb = Get-SPWeb $SPServer
$spData = $spWeb.GetList("%List-Name%")
# This is the variable for the path that has the file I want to input to SharePoint List
$InvFile="\\%location-ofList%\computers.csv"
# This is just some error checking to make sure the file exist
$FileExists = (Test-Path $InvFile -PathType Leaf)
if ($FileExists) {
"Loading $InvFile for processing..."
$tblData = import-csv $InvFile
} else {
"$InvFile not found - stopping import!"
exit
# Loop through Applications add each one to SharePoint
"Uploading data to SharePoint...."
foreach ($row in $tblData) {
#Here is where I add the information from my CSV file
#2 things have to be present
# 1. the columns have to be in the sharepoint site before I can import the information
# 2. columns have to the headers in my csv file
#"Adding entry for "+$row."Computer Information".ToString()
$spItem = $spData.AddItem()
$spItem["ServerName"] = $row."ServerName".ToString()
$spItem["Uptime"] = $row."Uptime".ToString()
#$spItem["DNSHostName"] = $row."DNSHostName".ToString()
#$spItem["DistinguishedName"] = $row."DistinguishedName".ToString()
$spItem.Update()
# This is just disconnecting from SharePoint
$spWeb.Dispose()
Enjoy, and if anyone has a better way of doing this I'm interested in knowing, thanks again
Thanks in Adavance -
Hi,
I have just downloaded and installed SOA 11.1.1.4.0 and am trying to work through the basic labs. I would like to be able to use the Oracle Apps adapter, but am getting the below error when trying to update the apps adapter (to change the status from Installed to Active):
An error occurred during activation of changes, please see the log for details.
[1] The ra.xml <connection-interface> class 'oracle.tip.adapter.apps.IAppsConnection' was not found in the resource adapter archive/application. [2] The ra.xml <connection-impl-class> class 'oracle.tip.adapter.apps.AppsConnection' was not found in the resource adapter archive/application. [3] The ra.xml <managedconnectionfactory-class> class 'oracle.tip.adapter.apps.AppsManagedConnectionFactory' was not found in the resource adapter archive/application. [4] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.apps.AppsConnectionFactory' was not found in the resource adapter archive/application.
I logon to the consiole (localhost:7001/console), under Deployments, query on OracleAppsAdapter (whose status is 'Installed').
Source Path - C:\ Oracle\ Middleware\ Oracle_SOA1\ soa\ connectors\ AppsAdapter. rar
Configuration Tab -> Outbound Connections Pool (sub-tab) ->
Connection Factory -> eis/Apps/Apps
dataSourceName = NULL
xADataSourceName = jdbc/AppsDataSource
I navigate to Service -> Data Sources
Datasource Name = eBizDS, JNDI name = jdbc/AppsDataSource
The datasource is able to connect to the DB.
Am I missing any steps? One thing which I noticed is that the OracleAppsAdapter is not deployed on the 'AdminServer' (under Target tab). When I try to deploy it, I get the above error.
Please let me know if I posted in the wrong forum, or if you need any more information.
Versions:
SOA Suite - 11.1.1.4.0
WLS - 10.3.4
Thanks,
AshishI deleted the existing OracleAppsAdapter .
1) Clicked on Install
2) Selected AppsAdapter.rar
3) Selected "Install this deployment as application"
4) Selected "AdminServer" as target
5) Changed Name to EBizAppsAdapter.
Under Source accessibility, selected "Use the defaults defined by the deployment's targets"
6) Clicked on 'Activate Changes'.
At this point I can see the new Adapter in Prepared state. When I try to update it, it gives the same error:
An error occurred during activation of changes, please see the log for details.
[1] The ra.xml <connection-interface> class 'oracle.tip.adapter.apps.IAppsConnection' was not found in the resource adapter archive/application. [2] The ra.xml <connection-impl-class> class 'oracle.tip.adapter.apps.AppsConnection' was not found in the resource adapter archive/application. [3] The ra.xml <managedconnectionfactory-class> class 'oracle.tip.adapter.apps.AppsManagedConnectionFactory' was not found in the resource adapter archive/application. [4] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.apps.AppsConnectionFactory' was not found in the resource adapter archive/application. -
What kind of scripting do you use? Any reason to prefer .cmd/powershell/.vbs/... ?
Are you using the scriptlauncher tool from tmurgent? http://www.tmurgent.com/Tools/ScriptLauncher/default.aspx
And offcourse ACE to modify the external configuration files http://virtualengine.co.uk/vet/ace/
Any other good tools for using with app-v 5.0 scripting?
Anyone want to share script modules they use in there packages so I can have an idea of how to properly use scripting in app-v 5.0. Thanks.Whenever I'm sequencing anything that involves more than running a single installer I create a batch file with the commands required to copy files, run installers etc etc. That way, I have a record of what I did so that I can recreate it later.
I haven't found a need for VBS in App-V as I find Powershell has done everything I've needed and easier to use.
Here's a pretty typical way I'd use powershell in App-V (in the DeploymentConfig). This just creates a directory if it doesn't already exist.
<MachineScripts>
<AddPackage>
<Path>powershell.exe</Path>
<Arguments>-NonInteractive -Command if (test-path -path C:\REPORTS) {return 0} else {mkdir C:\REPORTS}</Arguments>
<Wait RollbackOnError="true" Timeout="30"/>
</AddPackage>
</MachineScripts>
I haven't needed to use the ScriptLauncher but have found AppV_Manage and AppV_SelfService useful from TMurgent. -
Using app.findGrep() and app.changeGrep() consecutively
I have a script that should find and replace predefined terms and mark the changes visually on a separate layer.
The process basically works in two steps:
Loop through a list of expressions, look for every expression with app.findGrep() and insert Note-Markers at the beginning and at the end of a match.
Loop through the same list again and find & replace with corresponding terms of another predefined list, using app.changeGrep(). After that, use the positions of the markers to draw rectangles on a new layer in order to visualize the changes.
The problem is that even though Step 1 works fine (marks show up at their correct positions), step 2 doesn't seem to do anything, unless I change the findWhat parameter to an expression that hasn't been used already in the list of step 1.
So, my guess is that Indesign somehow caches all performed searches and prevents any further look-ups with those expressions.
However, if I use the standard find&replace form after the execution of the script, I can still find any expression from the list without any issues. Can anyone see how I can solve this issue?
Thanks for any help!
SamI don't know what is your 'predefined list'.
Look at the following code snippet, the hope can help you:
var mDoc = app.activeDocument, mFind,mChange=0;//step1app.findGrepPreferences = app.changeGrepPreferences = null;app.findGrepPreferences.findWhat = '\\d+kg';mFind=mDoc.findGrep();//step2for(var i=0;i<mFind.length;i++) { app.findGrepPreferences = app.changeGrepPreferences = null; app.findGrepPreferences.findWhat = '\\d+'; app.changeGrepPreferences.changeTo = '$0'; var re=mFind[i].changeGrep(); mChange+=re.length;}app.findGrepPreferences = app.changeGrepPreferences = null;alert("find:"+mFind.length+",change:"+mChange); -
How to update Column value in a list using powershell.
Hi All,
I am trying to copy value of One column to another column in same list. I am using SPSiteDataQuery for this. I am using following power shell script.
if ((Get-PSSnapin -Name Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue) -eq $null )
Add-PSSnapin Microsoft.SharePoint.Powershell
$CopyFromColumnName1 = "Section-1 Summary" #column copy source 1
$CopyToColumnName1 = "RichTextBoxControl" #destination column 1
$siteCollectionUrl = http://someURL
$site =new-object Microsoft.SharePoint.SPSite($siteCollectionUrl)
$query = new-object Microsoft.SharePoint.SPSiteDataQuery
$query.ViewFields = "<FieldRef Name='Title' /><FieldRef Name='PublishingPageLayout' /><FieldRef Name='FileLeafRef' /><FieldRef Name='RTC' /><FieldRef Name='SummaryOne' />";
$query.Webs = "<Webs Scope='SiteCollection'>"
$query.Lists = "<Lists ServerTemplate='850'/>"
$query.Query = "<Where>
<Contains>
<FieldRef Name='PublishingPageLayout' />
<Value Type='URL'>SomePageLayout</Value>
</Contains>
</Where>"
$spListItems = $site.rootweb.GetSiteData($query)
#Write-Host $spListItems
foreach($row in $spListItems.Rows)
$row.RTC = $row.SummaryOne
write-Host $row.RTC
$childWeb.Dispose()
$site.Dispose()
Here the column RTC is not updating on executing the script. I want to copy data from "SummaryOne" to "RTC" column.
Please assist me with this issue.
amolHi Bruno,
Thanks for reply I use following script and it is working for me.
if ((Get-PSSnapin
-Name Microsoft.SharePoint.Powershell
-ErrorAction SilentlyContinue)
-eq $null )
Add-PSSnapin
Microsoft.SharePoint.Powershell
#Use the Display Names
$webApplicationURL
= Read-Host
'Provide Site collection/Contnt HUB URL'
$webApp
= Get-SPWebApplication
$webApplicationURL
$CopyFromColumnName1
= "colName"
#column copy source 1
$CopyToColumnName1
= "coltoCopyVal"
#destination column 1
if($webApp
-ne $null)
foreach($siteCollectionUrl
in $webApp.Sites)
$site =new-object
Microsoft.SharePoint.SPSite($siteCollectionUrl.Url)
$query =
new-object Microsoft.SharePoint.SPSiteDataQuery
$query.ViewFields
= "<FieldRef Name='Title' /><FieldRef Name='PublishingPageLayout' /><FieldRef Name='FileLeafRef' /><FieldRef Name='RTC' /><FieldRef Name=’Name’ />";
$query.Webs
= "<Webs Scope='SiteCollection'>"
$query.Lists
= "<Lists ServerTemplate='850'/>"
$query.Query
= "<Where>
<Contains>
<FieldRef Name='PublishingPageLayout' />
<Value Type='URL'>PageLayout</Value>
</Contains>
</Where>"
$spListItems
= $site.rootweb.GetSiteData($query)
#Write-Host $spListItems
foreach($row
in $spListItems.Rows)
$listId
= $row["ListId"]
$webId =
$row["WebId"]
$childWeb
= $site.OpenWeb([GUID]($webId))
$pagesList
= $childWeb.Lists[[GUID]($listId)];
$itemUrl
= $childWeb.Url
+ "/"
+ $pagesList.RootFolder.Url
+ "/"
+ $row['FileLeafRef'].Split(';#')[2]
$listItme
= $pagesList.GetItemById($row.ID)
$listItme['RTC']
= $listItme[Name']
[Microsoft.SharePoint.SPSecurity]::RunWithElevatedPrivileges({
$listItme.SystemUpdate()
$childWeb.Dispose()
$site.Dispose()
else
Echo $webApplicationURL
"does not exist, check the WebApplication name"
Regards
Amol
amol
Maybe you are looking for
-
Hi all, I am working on standard SAPScript, In that I am facing the problem with logo , I have to include my companys logo. Thus I had change standard ADRS_HEADER using so10 Tcode. The logo is coming but in left side of the header window as it requ
-
Upgraded the latest version of Adobe Acrobat X, 10.1.2 yesterday. After a few minutes, the Acrobat icon on my desktop changes to the first page of the pdf document. Had this same problem with previous versions of Acrobat. How do I maintain the docu
-
Leopard: MacBook Pro rarely wakes up from sleep
Hey all, I just installed Leopard last weekend, and have noticed that at least half the time when i shut the lid and put my computer to sleep that it will not wake up when i re-open it. it is not an issue of power supply because this happens when i h
-
Hi, I use illustrator CS4, lately i ve trouble transforming the text box. its not the usual. The text gets scaled up and down. and shrinks .. see the image u 'll understand.. thanx.. Text in the right side is the original text. I used the text tool
-
Videos are juddering on Win 7 and 8
Every Flash Video is juddering a little bit. I've tried Youtube, the NFL Game Pass and the NBA League Pass on Firefox, IE, Opera, Chrome and Safari with the same results. It is just minimal but in the Video below the text which goes from right to lef