2012-08-03 11 views
7

के रूप में सत्यापित नहीं कर सका मेरे पास एक शेयरपॉइंट फार्म सेटअप है और मैं विंडोज़ से अपने एप्लिकेशन/सर्च सर्वर से कनेक्ट कर रहा हूं रिमोट पावरहेल का उपयोग कर डोमेन में 7 मशीन। क्लाइंट और एप्लिकेशन सर्वर दोनों में पावरहेल 2 है जिसमें निष्पादन नीति सेट अप्रतिबंधित और psremoting सक्षम है। इसके अतिरिक्त, मैं cmdlets को डोमेन व्यवस्थापक खाते के रूप में चला रहा हूं।आयात-पीएसएसशन: प्रॉक्सी सृजन को '%' कमांड के लिए छोड़ दिया गया है, क्योंकि पावरशेल अपना नाम सुरक्षित

मैं निम्नलिखित cmdlets का उपयोग कर दूरस्थ सर्वर से एक सत्र बना सकते हैं:

$Session = New-PSSession -ConfigurationName "Microsoft.PowerShell" -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication "Kerberos" 
Import-PSSession $Session -AllowClobber 
हालांकि

, जब मैं सत्र मैं निम्नलिखित eror मिल आयात करें:

Import-PSSession : Proxy creation has been skipped for '%' command, because PowerShell couldn't verify its name as safe. 
At line:1 char:17 
+ Import-PSSession <<<< $Session -AllowClobber 
    + CategoryInfo   : InvalidData: (:) [Import-PSSession], InvalidOperationException 
    + FullyQualifiedErrorId : ErrorSkippedUnsafeCommandName,Microsoft.PowerShell.Commands.ImportPSSessionCommand 
Import-PSSession : Proxy creation has been skipped for '?' command, because PowerShell couldn't verify its name as safe. 
At line:1 char:17 
+ Import-PSSession <<<< $Session -AllowClobber 
    + CategoryInfo   : InvalidData: (:) [Import-PSSession], InvalidOperationException 
    + FullyQualifiedErrorId : ErrorSkippedUnsafeCommandName,Microsoft.PowerShell.Commands.ImportPSSessionCommand 
Import-PSSession : Could not resolve remote alias 'ise'. 
At line:1 char:17 
+ Import-PSSession <<<< $Session -AllowClobber 
    + CategoryInfo   : OperationTimeout: (:) [Import-PSSession], ArgumentException 
    + FullyQualifiedErrorId : ErrorCouldntResolveAlias,Microsoft.PowerShell.Commands.ImportPSSessionCommand 

किसी को भी मदद कर सकते हैं इस का समाधान त्रुटि?

उत्तर

6

मैंने इसे आयात करने के बजाय दूरस्थ सत्र में प्रवेश करके इसे हल किया। मैं फिर दूरस्थ मशीन पर स्थापित SharePoint स्नैप-इन जोड़ने और मेरी स्क्रिप्ट चलाने में सक्षम था।

$Session = New-PSSession -ConfigurationName "Microsoft.PowerShell" -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication "Kerberos" 
Enter-PSSession $Session 
Add-PSSnapin Microsoft.SharePoint.PowerShell 

<Cmdlets or script goes here> 

Exit-PSSession 
Remove-PSSession -ID $Session.ID 
[GC]::Collect() 

दूसरा विकल्प स्क्रिप्टब्लॉक पैरामीटर के साथ Invoke-Command cmdlet का उपयोग करना है।

$Session = New-PSSession -ConfigurationName Microsoft.PowerShell -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication Kerberos 
Invoke-Command -Session $Session -ScriptBlock { Add-PSSnapin Microsoft.SharePoint.PowerShell } 

Invoke-Command -Session $Session -ScriptBlock { <Your cmdlet here.> } 

Remove-PSSession -ID $Session.ID 
[GC]::Collect() 
1

त्रुटि यह है कि आप अपने दूरस्थ सर्वर से आदेशों के पूरे सेट को आयात करने का प्रयास कर रहे हैं। बिल्कुल यकीन नहीं है कि आप क्लॉबर की अनुमति क्यों दे रहे हैं।

व्यक्तिगत रूप से, मैं केवल रिमोट वर्कस्पेस के बजाय प्रासंगिक शेरपॉइंट मॉड्यूल आयात करता हूं।

आयात काम करता है ??

+0

आप क्लॉबर की अनुमति देने के बारे में सही हैं, विकल्प की आवश्यकता नहीं है क्योंकि मेरे पास मेरे स्थानीय सत्र में कोई आदेश नहीं है जो दूरस्थ सत्र के साथ संघर्ष करेगा। हालांकि, मैं शेयरपॉइंट मॉड्यूल आयात करने में सक्षम नहीं हूं जब तक कि मैंने रिमोट कनेक्शन स्थापित नहीं किया है क्योंकि वे मेरी स्थानीय मशीन पर स्थापित नहीं हैं। –

+0

जब आप कोई सत्र (क्लॉबर के साथ) आयात करते हैं, तो दूरस्थ सत्र में प्रत्येक cmdlet को स्थानीय 'प्रॉक्सी' फ़ंक्शन द्वारा प्रतिस्थापित किया जाता है। इस प्रकार आपकी स्थानीय मशीन पर 'गेट-हेल्प' को एक समान नामित फ़ंक्शन द्वारा प्रतिस्थापित किया जाएगा जो दूरस्थ रूप से भाग गया था। इस प्रकार चलने में मदद मिलती है स्थानीय रूप से रनइन साइन-अप दूरस्थ रूप से समाप्त होती है। चाल है, imho, स्थानीय रूप से clobber नहीं है। आम तौर पर, मेरा सुझाव है कि आप केवल दूरस्थ सत्र से विशिष्ट मॉड्यूल आयात करें। –