मेरे पास एक एज़्योर फाइल शेयर है और मैं अपने एज़्योर वीएम से इसका उपयोग करना चाहूंगा - वीएम पर क्रेडेंशियल्स को cmdkey के साथ जारी रखने और शुद्ध उपयोग के साथ माउंट करने के बाद। Windows Server 2012 R2 पर एक स्थानीय पॉवर्सशेल सत्र में इन कमांडों को चलाकर इसका परीक्षण किया गया था।
लेकिन मुझे यह कदम एक एज़्योर परिनियोजन स्क्रिप्ट में जोड़ने की आवश्यकता है। Azure Powershell स्क्रिप्ट मेरे लैपटॉप से चलती है, Azure सदस्यता से कनेक्ट होती है और बहुत सारे वैरिएबल का उपयोग करके VMs को स्क्रैच से बनाता है।
नई बनाई गई VM पर दूरस्थ पॉवर्सशेल सत्र के लिए Azure पॉवर्सशेल स्क्रिप्ट से चर पास करने के लिए Invoke-Command का उपयोग करने के लिए पता लगाया गया।
$Session = New-PSSession -ConnectionUri $Uri -Credential $DomainCredential
$ScriptBlockContent = {
Param ($Arg1,$Arg2,$Arg3)
cmdkey /add:$Arg1 /user:$Arg2 /pass:$Arg3}
Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key)
और त्रुटि:
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key)
CMDKEY: Credentials cannot be saved from this logon session.
सिंटैक्स की जाँच करने के लिए cmdkey / list के साथ बदला गया, और कोई त्रुटि नहीं है।
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent
Currently stored credentials:
* NONE *
Windows अद्यतन PowerShell मॉड्यूल (Invoke-WUInstall) के साथ एक समान मुद्दा था (और इसे ठीक नहीं कर सका), जो VM पर एक स्थानीय पॉवर्सशेल सत्र पर ठीक चलता है, लेकिन दूरस्थ पॉवर्सशेल के माध्यम से शुरू होने पर अपडेट नहीं होता है।
किसी भी तरह से यह चारों ओर पाने के लिए?